// // 背景パターン作成ソフト // // ホームページの背景パターンつくるソフトです。 // 指定した値を元に、適当な演算で不規則なパターンを作成します。 // // 保存した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) ; }