#!/usr/bin/php $arr) { $s = sprintf("myarr[%d]\t= {",$base); foreach ($arr as $b => $transform) $s .= sprintf('[%d]="%s",',$b,$transform); $s .= "}\n"; echo $s; } exit(0); /* myarr[0] = {} myarr[1] = {[64]="L1",[16]="L2",[4]="L3",} myarr[5] = {[65]="L1",[80]="L2",[20]="L3",} myarr[7] = {[193]="L1",[112]="L2",[28]="L3",} myarr[17] = {[68]="L1",} myarr[21] = {[69]="L1",[81]="L2",[84]="L3",} myarr[23] = {[197]="L1",[113]="L2",[92]="L3",[71]="MX",[116]="MY",[29]="L1MX",[209]="L1MY",} myarr[31] = {[199]="L1",[241]="L2",[124]="L3",} myarr[85] = {} myarr[87] = {[213]="L1",[117]="L2",[93]="L3",} myarr[95] = {[215]="L1",[245]="L2",[125]="L3",} myarr[119] = {[221]="L1",} myarr[127] = {[223]="L1",[247]="L2",[253]="L3",} myarr[255] = {} */ $basedir = "mymask/"; /* 0 1 1 2 7 3 7 3 6 5 5 4 */ function MyDrawRect ($img,$col,$x,$y,$dx,$dy) { imagefilledrectangle($img,$x,$y,$x+$dx,$y+$dy,$col); } $images = array(); $d = 32; $e = $d/4; $blurcount = 1; foreach ($bases as $base => $arr) { $img = imagecreatetruecolor($d, $d) or die("Cannot Initialize new GD image stream"); $col_back = hex2imgcolor($img,"#000000"); $col_mask = hex2imgcolor($img,"#FFFFFF"); imagefilledrectangle($img,0,0,$d,$d,$col_back); if (MaskTest($base,0)) MyDrawRect($img,$col_mask,$e*0,$e*0,$e*1,$e*1); if (MaskTest($base,2)) MyDrawRect($img,$col_mask,$e*3,$e*0,$e*1,$e*1); if (MaskTest($base,6)) MyDrawRect($img,$col_mask,$e*0,$e*3,$e*1,$e*1); if (MaskTest($base,4)) MyDrawRect($img,$col_mask,$e*3,$e*3,$e*1,$e*1); if (MaskTest($base,1)) MyDrawRect($img,$col_mask,$e*0,$e*0,$e*4,$e*1); if (MaskTest($base,5)) MyDrawRect($img,$col_mask,$e*0,$e*3,$e*4,$e*1); if (MaskTest($base,7)) MyDrawRect($img,$col_mask,$e*0,$e*0,$e*1,$e*4); if (MaskTest($base,3)) MyDrawRect($img,$col_mask,$e*3,$e*0,$e*1,$e*4); $out_filename = $basedir.sprintf("test1_%02x.png",$base); //~ for ($i=0;$i<$blurcount;++$i) imagefilter($img,IMG_FILTER_GAUSSIAN_BLUR); $images[] = $img; //~ imagepng($img,$out_filename); } if (1) { // completely filled $img = imagecreatetruecolor($d, $d) or die("Cannot Initialize new GD image stream"); $col_back = hex2imgcolor($img,"#000000"); $col_mask = hex2imgcolor($img,"#FFFFFF"); imagefilledrectangle($img,0,0,$d,$d,$col_mask); $images[] = $img; } //~ if (1) { // filled center //~ $img = imagecreatetruecolor($d, $d) or die("Cannot Initialize new GD image stream"); //~ $col_back = hex2imgcolor($img,"#000000"); //~ $col_mask = hex2imgcolor($img,"#FFFFFF"); //~ imagefilledrectangle($img,0,0,$d,$d,$col_back); //~ MyDrawRect($img,$col_mask,$e*1,$e*1,$e*2,$e*2); //~ $images[] = $img; //~ } if (1) { // big master image $img = imagecreatetruecolor($d*4, $d*4) or die("Cannot Initialize new GD image stream"); $col_back = hex2imgcolor($img,"#000000"); $col_mask = hex2imgcolor($img,"#FFFFFF"); imagefilledrectangle($img,0,0,$d*4,$d*4,$col_mask); $i=0; foreach ($images as $img2) { $x = $i % 4; $y = floor($i / 4); imagecopy($img,$img2,$x*$d,$y*$d,0,0,$d,$d); ++$i; } $out_filename = sprintf("terrain_multitex_mask_%d.png",$d); imagepng($img,$out_filename); echo "wrote $out_filename\n"; } ?>