// // 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) ; }