//
// 背景パターン作成ソフト
//
// ホームページの背景パターンつくるソフトです。
// 指定した値を元に、適当な演算で不規則なパターンを作成します。
//
// 保存した64×64ピクセルのパターンは、<body BACKGROUND="ファイル名">で
// ホームページの背景に設定できます。
// 64×64パターンを作成
DrawSample
{
px = 10 ; py = 40 ;
n = 255 ;
s = d1 ;
y = py ; x = px ;
loop(16){
loop(16){
n = (n+s)%56+200 ; // ランダムな値を算出しパレットをセット
SetPal(10,n-rc,n-gc,n-bc) ;
Point(x,y,10) ;
x = x + 1 ;
}
y = y + 1 ; x = px ; s = s * d2 ;
}
// 上下反転させながらコピー
x = px ; y = py ; t = 1 ;
loop(4){
loop(4){
CopyBMP(1,px,py,16,16, 1,x,y,16,16*t,0) ;
x = x + 16 ; t = t * (-1) ;
}
y = y + 16 ; x = px ; t = t * (-1) ;
}
px = 270 ; py = 20 ;
Box(px,py,px+30,py+18,0,7) ; PrintData(px+6,py+3,0,6,12,0,0,GetScrollPos("ID_type")) ;
Box(px,py+30,px+30,py+48,0,7) ; PrintData(px+6,py+33,0,6,12,0,0,GetScrollPos("ID_rc")) ;
Box(px,py+50,px+30,py+68,0,7) ; PrintData(px+6,py+53,0,6,12,0,0,GetScrollPos("ID_gc")) ;
Box(px,py+70,px+30,py+88,0,7) ; PrintData(px+6,py+73,0,6,12,0,0,GetScrollPos("ID_bc")) ;
}
// 拡大して描画
ID_big
{
px = 10 ; py = 150 ;
Box(0,py-10,WIN_X,WIN_Y,7,7) ;
x = px ; y = py ;
t = 1 ;
loop(5){
loop(5){
CopyBMP(1,10,40,16*4,16*4, 1,x,y,16*4,16*4*t,0) ;
x = x + 16*4 ;
}
y = y + 16*4 ; x = px ;
}
}
ID_save
{
// ダイアログボックス自身の絵を保存してしまうので、
// 裏画面にコピーし、裏画面を保存する
CopyBMP(1,px,py,64,64,0,0,0,64,64,0) ;
SelectScreen(0) ;
SaveBMPDlg(0,0,64,64) ;
SelectScreen(1) ;
}
// スクロールボックスの操作
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
{
SetFont("MS ゴシック",0) ;
Print(100,25,0,6,12,0,"パターン") ;
Print(100,55,0,6,12,0,"赤レベル") ;
Print(100,75,0,6,12,0,"緑レベル") ;
Print(100,95,0,6,12,0,"青レベル") ;
Box(0,140,WIN_X,WIN_Y,7,7) ;
call("DrawSample") ;
call("ID_big") ;
}
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) ;
SubScreen(64,64) ;
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) ;
CreateControl( 0,"↓拡大↓","ID_big",10,112,64,20) ;
}