//
// BackPattern.imw3
//
// 背景パターン作成ソフト
//
// ホームページの背景パターンつくるソフトです。
// 指定した値を元に、適当な演算で不規則なパターンを作成します。
//
// 保存した64×64ピクセルのパターンは、<body BACKGROUND="ファイル名">で
// ホームページの背景に設定できます。
//
// 64×64パターンを作成
DrawSample
{
n = 255 ;
s = d1 ;
y = 0 ; x = 0 ;
loop(32){
loop(32){
n = (n + s) % 56 + 200 ; // でたらめ演算でパレット色をセット
SetPal(10,n-rc,n-gc,n-bc) ;
Point(1,x,y,10) ;
x = x + 1 ;
}
y = y + 1 ; x = 0 ; s = s * d2 ;
}
x = 0 ; y = 0 ; t = 1 ;
loop(2){
loop(2){
CopyBMP(1,0,0,32,32, 1,x,y,32,32*t,0) ;
x = x + 32 ; t = t * (-1) ;
}
y = y + 32 ; x = 0 ; t = t * (-1) ;
}
CopyBMP(1,0,0,64,64, 0,10,40,64,64,0) ; // 表画面にコピー
x = 270 ; y = 20 ;
Box(0,x,y,x+30,y+18,0,7) ; PrintData(0,x+6,y+3,0,6,12,0,0,GetScrollPos("ID_type")) ;
Box(0,x,y+30,x+30,y+48,0,7) ; PrintData(0,x+6,y+33,0,6,12,0,0,GetScrollPos("ID_rc")) ;
Box(0,x,y+50,x+30,y+68,0,7) ; PrintData(0,x+6,y+53,0,6,12,0,0,GetScrollPos("ID_gc")) ;
Box(0,x,y+70,x+30,y+88,0,7) ; PrintData(0,x+6,y+73,0,6,12,0,0,GetScrollPos("ID_bc")) ;
call("DrawBig") ; // 拡大して描画
}
// 拡大して描画
DrawBig
{
x = 0 ; y = 0 ;
t = 1 ;
loop(10){
loop(10){
CopyBMP(1,0,0,64,64, 2,x,y,64,64,0) ;
x = x + 64 ;
}
y = y + 64 ; x = 0 ;
}
CopyBMP(2,0,0,640,640, 0,0,120,640,640,0) ; // 表画面にコピー
}
// 保存ボタン
ID_save
{
SaveBMPDlg(1,0,0,64,64) ;
}
// スクロールボックスの操作
ID_type
{
n = GetScrollPos("ID_type") ;
d1 = n % 10 ;
d2 = fix(n / 10) ;
call("DrawSample") ;
}
ID_rc { rc = 100-GetScrollPos("ID_rc") ; call("DrawSample") ; }
ID_gc { gc = 100-GetScrollPos("ID_gc") ; call("DrawSample") ; }
ID_bc { bc = 100-GetScrollPos("ID_bc") ; call("DrawSample") ; }
PAINT
{
Print(0,100,25,0,6,12,0,"パターン") ;
Print(0,100,55,0,6,12,0,"赤レベル") ;
Print(0,100,75,0,6,12,0,"緑レベル") ;
Print(0,100,95,0,6,12,0,"青レベル") ;
Box(0,0,120,WIN_W,WIN_H,7,7) ;
Line(0,0,119,WIN_W,119,0) ;
call("DrawSample") ; // 64×64パターンを作成
}
INIT
{
d1 = 6 ; d2 = 6 ; // でたらめ演算の元になる数値
SetScrollPos("ID_type",66) ;
rc = 100 ; SetScrollPos("ID_rc",100-rc) ;
gc = 50 ; SetScrollPos("ID_gc",100-gc) ;
bc = 50 ; SetScrollPos("ID_bc",100-bc) ;
}
CREATE
{
SetWinSize(346,500) ;
SetWinColor(15) ;
SetCaption("背景編集") ;
SubScreen(1,64,64) ;
SubScreen(2,SCR_W,SCR_H) ;
CreateControl( 0,"保 存","ID_save",10,12,64,20) ;
CreateControl(70,"","ID_type",160,20,99,18) ;
CreateControl(70,"","ID_rc",160,50,99,18) ;
CreateControl(70,"","ID_gc",160,70,99,18) ;
CreateControl(70,"","ID_bc",160,90,99,18) ;
}