$n0 ) $n--; //+echo "n.2 = " . $n . ", "; //$n -= 1; // 0 $n--; $n = pow( 10, $n ); // 1 //+echo "n(pow) = " . $n . "
"; if( $iL / $n > $nmax ) { // false $r[0] = $n * 5; $r[1] = 2; //$n * 10; //every 2nd $r[2] = 2; //4; //$n * 20; } else { // true $r[0] = $n; // 1 $r[1] = 5; //$n * 5; // every 5th $r[2] = 5; if( $iL / $n > 500 ) $r[2] = 10; //$n * 10; if( $iL / $n < 20 ) $r[2] = 2; if( $iL / $n < 10 ) $r[2] = 1; } return $r; } function f_staImage( $im_file, $buf, $pos, $aBuf, &$wid, &$hei, $seqname, $wm, $opt ) { //$dx1 = 50+16; //+40; $dx1 = 50 +10; $dx2 = 10+10; //+10 + 5; //if( $iFS < 20 ) $dx1 -= 30; $dy1 = 20+10 - 5 + 10; $dy2 = 20; //+10; if( strlen($seqname) > 16 ) $seqname = substr( $seqname, 0, 16 ); //$title = "Statistics of " . substr( $buf, 1, $pos - 4 ) . // " (" . substr( $buf, $pos - 2, 2 ) .")"; $title = substr( $buf, $pos - 2, 2 ) . ": " . substr( $buf, 1, $pos - 4 ); $aParm = split( "[ \r\n]+", $aBuf[0], 13 ); //11 ); // +prob $nn = $aParm[7]; settype( $nn, "integer" ); // prob + freq: $prob = $aParm[10] . " " . $aParm[11] . ", " . $aParm[8] . " " . $aParm[9]; //+echo "nn=" . $nn . "
"; $aPow = split( "[ \r\n]+", $aBuf[1], $nn+1 ); $aUp = split( "[ \r\n]+", $aBuf[2], $nn+1 ); $aLow = split( "[ \r\n]+", $aBuf[3], $nn+1 ); for( $i = 1; $i <= $nn; $i++ ) { settype( $aPow[$i], "double" ); settype( $aUp[$i] , "double" ); settype( $aLow[$i], "double" ); } // Extra Last Pow: if( $nn == 1 ) $aPow[2] = $aPow[1] * 2; else { $iWk = 0; for( $i = 1; $i < ($nn - 1 + 1); $i++ ) { $iWk2 = $aPow[$i+1] - $aPow[$i]; if( $iWk < $iWk2 ) $iWk = $iWk2; // max } //- if( $iWk < 8*5 ) $iWk = 8 * 5; // to set number $aPow[$nn + 1] = $aPow[$nn] + $iWk * 1.2; } // Split factor $yk: $upMore = FALSE; // Up half not enlarged $iWk = $aUp[$nn] + $aLow[1]; if( $iWk == 0.0 ) { $yk = 0.5; } else { $yk = $aUp[$nn] / $iWk; if( $yk > 0.75 ) $yk = 0.75; if( $yk < 0.25 ) { $yk = 0.25; $upMore = TRUE; } } //+ echo "iWk=" . $iWk . "
"; // ********* //+ echo "yk=" . $yk . "
"; $pow_dy = 14; //10; // pow line width $powY = ($hei - $dy1 - $dy2 - $pow_dy - 20) * $yk + $dy1; // Scales: $xScale = ($wid - $dx1 - $dy2 - 20 ) / $aPow[$nn + 1]; // or /max ! ******** settype($xScale, "integer" ); $yScale = 100; //10; // if only zeros - 100! if( $aUp[$nn] != 0.0 && !$upMore ) { $yScale = ($powY - $dy1 - 20. ) / $aUp[$nn]; // double } else { if( $aLow[1] != 0.0 ) { $yScale = ($hei - ($powY + $pow_dy) - $dy2 - 20. ) / $aLow[1]; // double } } //$wid = 500; //$hei = 350; $k = imagecreate( $wid, $hei ); $white = imagecolorResolve($k,255,255,255); imagefilledrectangle( $k, 0, 0, $wid, $hei, $white ); //+$dx = ($wid - $dx1 - $dx2 ) / $iFS ; //+$dy = ($hei - $dy1 - $dy2 ) / $iFS ; $gray = imagecolorResolve($k,200,200,200); $lgray = imagecolorResolve($k,222,222,222); $brown = imagecolorResolve($k,102, 51, 0); $black = imagecolorResolve($k, 0, 0, 0); $green = imagecolorResolve($k, 0, 128, 0); $green2= imagecolorResolve($k, 0, 160, 0); $green3= imagecolorResolve($k, 0, 175, 0); $green4= imagecolorResolve($k, 0, 190, 0); $green5= imagecolorResolve($k, 0, 210, 0); $lgreen= imagecolorResolve($k, 0, 200, 0); $blue = imagecolorResolve($k, 0, 0, 255); $red2 = imagecolorResolve($k, 200, 0, 0); $red3 = imagecolorResolve($k, 220, 0, 0); $red4 = imagecolorResolve($k, 245, 0, 0); $red5 = imagecolorResolve($k, 255, 128, 0); $yellow= imagecolorResolve($k, 200, 200, 0); $yellow2= imagecolorResolve($k, 240, 200, 0); $lwhite= imagecolorResolve($k, 255, 250, 255); $lwhite2= imagecolorResolve($k, 247, 247, 255); f_imFrame( $k, $wid, $hei, $dx1, $dx2, $dy1, $dy2 ); imageString( $k, 3, 5, 3, $seqname, $green ); imageString( $k, 2, $wid - strlen($wm)*6 - 10, 3, $wm, $blue ); //+imageString( $k, 5, 150, 3,"CROSS-REFERENCE MAP OF THE FOUND SEQUENSES", $brown ); imageString( $k, 5, ($wid - strlen($title)*9 )*0.5, 3 , $title, $brown ); //+$prob = "Prob 0.322220, Freq 0.003118"; imageString( $k, 2, ($wid - strlen($prob) *6 )*0.5, 3+15, $prob , $brown ); // X: // power bar: //imagefilledrectangle( $k, $dx1+1, $powY+1, $wid - $dx2 - 1, $powY + $pow_dy - 1, imagefilledrectangle( $k, $dx1+1, $powY+3, $wid - $dx2 - 1, $powY + $pow_dy - 2, $yellow2 ); // X-line //ImageLine ( $k, $dx1, $powY , $wid - $dx2, $powY , $brown); //ImageLine ( $k, $dx1, $powY + $pow_dy, $wid - $dx2, $powY + $pow_dy, $brown); ImageLine ( $k, $dx1, $powY + 2 , $wid - $dx2, $powY + 2 , $brown); ImageLine ( $k, $dx1, $powY + $pow_dy - 1, $wid - $dx2, $powY + $pow_dy - 1, $brown); // Power: ImageString( $k, 2, $dx1 - 20 - 5*6 - 2, $powY+1, "POWER", $brown ); ImageFilledRectangle( $k, $dx1 - 20,$powY+5, $dx1 - 15, $powY + $pow_dy - 5, $brown ); // $yellow); $aPoi = Array( $dx1 - 15, $powY+3, $dx1 - 7, $powY + $pow_dy*0.5, $dx1 - 15,$powY + $pow_dy - 3); ImageFilledPolygon ( $k, $aPoi, 3, $brown); $r = f_scaleStep( $aPow[$nn+1] ); // 30 - default $y = $powY + 1; $y2 = $powY + $pow_dy - 1; //+echo "r[0]=". $r[0] . "
"; //for( $n = $r[0]; $n < aPow[$nn+1]; $n += $r[0] ) { for( $n = $r[0], $i = 1; ($dx1 +$n*$xScale) < ($wid - $dx2 - 10); $n += $r[0], $i++ ) { $x = $dx1 + $n * $xScale; imageDashedLine( $k, $x, $dy1 + 10, $x, $powY - 1, $lgray ); imageDashedLine( $k, $x, $hei - $dy2 - 10, $x, $powY + $pow_dy+ 1, $lgray ); $iC = $brown; //if( $n % $r[1] == 0 ) $iC = $green; if( $i % $r[1] == 0 ) { //+imageLine( $k, $x , $y, $x , $y + 2, $iC ); //+imageLine( $k, $x+1, $y, $x+1, $y + 2, $iC ); //+imageLine( $k, $x , $y2, $x , $y2 - 2, $iC ); //+imageLine( $k, $x+1, $y2, $x+1, $y2 - 2, $iC ); imageLine( $k, $x , $y, $x , $y - 2, $iC ); imageLine( $k, $x+1, $y, $x+1, $y - 2, $iC ); imageLine( $k, $x , $y2, $x , $y2 + 2, $iC ); imageLine( $k, $x+1, $y2, $x+1, $y2 + 2, $iC ); } else { $iC = $green; //+imageLine( $k, $x , $y, $x , $y + 1, $iC ); imageLine( $k, $x , $y, $x , $y - 1, $iC ); $iC = $red2; //+imageLine( $k, $x , $y2, $x , $y2 - 1, $iC ); imageLine( $k, $x , $y2, $x , $y2 + 1, $iC ); } if( $i % $r[2] == 0 ) { //imageString( $k, 1, $x+2, $y+2, $n, $black); //$brown ); //+imageString( $k, 2, $x+2, $y+2 - 2, $n, $black); //$brown ); imageString( $k, 2, $x, $y+2 - 2, $n, $black); //$brown ); } } // X.0 imageString( $k, 2, $dx1+2, $y+2 - 2, "0", $black); //$brown ); // Y.up: //$r = f_scaleStep( $aUp[$nn]+$aLow[1], 30 ); $wk = ($hei - $dy1 - $dy2 - 10 - 10)/ $yScale; $r = f_scaleStep( $wk, 30 ); //-$r = f_scaleStep( $wk, 20 ); //+echo "y.r[0]=". $r[0] . ", num=" . $wk . "
"; //+echo "y.r[1]=". $r[1] . "
"; $x = $dx1+1; for( $n = $r[0], $i = 1; ($powY - $n*$yScale) > ($dy1+10); $n += $r[0], $i++ ) { $y = $powY - $n * $yScale; //echo "y=" . $y . "
"; imageDashedLine( $k, $x, $y, $wid - $dx2 - 2, $y, $lgray ); $iC = $brown; if( $i % $r[1] == 0 ) { imageLine( $k, $x, $y , $x+2, $y, $iC ); imageLine( $k, $x, $y - 1, $x+2, $y - 1, $iC ); } else { $iC = $green; imageLine( $k, $x, $y, $x+1, $y, $iC ); } if( $i % $r[2] == 0 ) { $wk = $n; settype( $wk, "string" ); $ni = strlen( $wk ); imageString( $k, 2, $x - $ni*7 - 5, $y - 6, $wk, $brown ); } //if( $i > 20 ) break; } // Y.low: for( $n = $r[0], $i = 1; ($powY +$pow_dy + $n*$yScale) < ($hei - $dy2 - 10); $n += $r[0], $i++ ) { $y = $powY +$pow_dy + $n * $yScale; //echo "y=" . $y . "
"; imageDashedLine( $k, $x, $y, $wid - $dx2 - 2, $y, $lgray ); $iC = $brown; if( $i % $r[1] == 0 ) { imageLine( $k, $x, $y , $x+2, $y, $iC ); imageLine( $k, $x, $y - 1, $x+2, $y - 1, $iC ); } else { $iC = $green; imageLine( $k, $x, $y, $x+1, $y, $iC ); } if( $i % $r[2] == 0 ) { $wk = $n; settype( $wk, "string" ); $ni = strlen( $wk ); imageString( $k, 2, $x - $ni*7 - 5, $y - 6, $wk, $brown ); } //if( $i > 20 ) break; } // Columns: $upLab = -1; $lowLab = 2; $xLab = 0; for( $i = 1; $i <= $nn; $i++ ) { // Up; $x1 = $dx1 + $aPow[$i ] * $xScale; $x2 = $dx1 + $aPow[$i+1] * $xScale - 2; $y = $powY - $aUp[$i ] * $yScale; if( ($powY - $y) < 2 ) $y = $powY - 2; // Zero and about //echo "Up=" . $aUp[$i ] . "
"; imageFilledRectangle( $k, $x1, $y, $x2, $powY, $green2 ); //imageRectangle( $k, $x1, $y, $x2, $powY, $green2 ); // Addition to the last col: if( $i == $nn ) { imageFilledRectangle( $k, $x2+1, $y, $x2+1+2, $powY, $green3 ); imageFilledRectangle( $k, $x2+4, $y, $x2+4+2, $powY, $green4 ); imageFilledRectangle( $k, $x2+7, $y, $x2+7+3, $powY, $green5 ); imageDashedLine ( $k, $x2+11, $y, $x2+11 , $powY, $green5 ); } // Low; //$x1 = $dx1 + $aPow[$i ] * $xScale; //$x2 = $dx1 + $aPow[$i+1] * $xScale - 2; $y = $powY + $pow_dy + $aLow[$i ] * $yScale; if( ($y - $powY - $pow_dy) < 2 ) $y = $powY + $pow_dy + 2; //echo "Low=" . $aLow[$i ] . "
"; //+imageFilledRectangle( $k, $x1, $powY + $pow_dy, $x2, $y , $red2 ); imageFilledRectangle( $k, $x1, $powY + $pow_dy+1, $x2, $y , $red2 ); //imageRectangle( $k, $x1, $powY + $pow_dy, $x2, $y , $red2 ); // Addition to the last col: if( $i == $nn ) { //imageFilledRectangle( $k, $x2+1, $y, $x2+1+3, $powY, $green3 ); imageFilledRectangle( $k, $x2+1, $powY + $pow_dy+1, $x2+1+2, $y , $red3 ); imageFilledRectangle( $k, $x2+4, $powY + $pow_dy+1, $x2+4+2, $y , $red4 ); imageFilledRectangle( $k, $x2+7, $powY + $pow_dy+1, $x2+7+3, $y , $red5 ); imageDashedLine ( $k, $x2+11, $powY + $pow_dy+1, $x2+11 , $y , $red5 ); } //+if( ( $lowLab - $aLow[$i]) > (abs( $lowLab )* 0.1) ) { //++if( ( $lowLab - $aLow[$i]) > (abs( $lowLab )* 0.22) ) { if( ( $lowLab - $aLow[$i])* $yScale > 12 ) { $lowLab = $aLow[$i]; $wk = $lowLab; //settype( $wk, "double" ); // 7E 005 imageString( $k, 2, $x1+1, $y + 1, round($wk, 4), $brown ); $xLab = $x1; } else { if( ($aLow[$i] < $lowLab) && ( $x1 > ($xLab + 6*7) ) ) { //+echo "xLab=" . $xLab . ", x1=" . $x1 . "
"; $xLab = $x1; $lowLab = $aLow[$i]; imageString( $k, 2, $x1+1, $y, round($lowLab,4), $brown ); //$red2 ); } } } // Only upper labels: $xLab = 0; for( $i = 1; $i <= $nn; $i++ ) { // Up; $x1 = $dx1 + $aPow[$i ] * $xScale; $x2 = $dx1 + $aPow[$i+1] * $xScale - 2; $y = $powY - $aUp[$i ] * $yScale; //if( ($powY - $y) < 2 ) $y = $powY - 2; //+if( ($aUp[$i] - $upLab) > (abs( $upLab )* 0.1) ) { //++if( ($aUp[$i] - $upLab) > (abs( $upLab )* 0.22) ) { // Exists y-space: if( ($aUp[$i] - $upLab)*$yScale > 12 ) { $upLab = $aUp[$i]; if( $y < ($powY - 14 ) ) { imageString( $k, 2, $x1+2, $y, round($upLab,4), $white ); } else { imageString( $k, 2, $x1+2, $y - 14, round($upLab,4), $black ); $upLab += ( 14/ $yScale ); } $xLab = $x1; } else { // Exists x-space: if( ($aUp[$i] > $upLab) && ( $x1 > ($xLab + 6*7) ) ) { $xLab = $x1; $upLab = $aUp[$i]; //imageString( $k, 2, $x1+2, $y, round($upLab,4), $white ); if( $y < ($powY - 14 ) ) { imageString( $k, 2, $x1+2, $y, round($upLab,4), $white ); } else { imageString( $k, 2, $x1+2, $y - 14, round($upLab,4), $black ); $upLab += ( 14/ $yScale ); } } else { // Last: moved due to no "standard space": if( $i == $nn && ($aUp[$i] > $upLab) ) { // Adjust x: if( $x1 < ($xLab + 6*7) ) $x1 = ($xLab + 6*7); // Adjust y: $wk = $dy1 - $y + 14 + 1; if( $wk > 0 ) $y -= $wk; $upLab = $aUp[$i]; imageString( $k, 2, $x1+2, $y - 14, round($upLab,4), $black ); } } } } /*** $keys = array_keys( $aFS ); $sfont = 2; $sdy = $dy * 0.4; if( $iFS > 19) { $sfont = 1; $sdy = 0; } // Diagonal for( $i = 0; $i < $iFS; $i++ ) { $x = $dx1+$dx*$i; $y = $dy1+$dy*$i; imagefilledrectangle( $k, $x, $y, $x + $dx, $y + $dy, $lgray ); //imageString( $k, 3, 5, $y + ($dy * 0.5), $keys[$i], $brown ); //+imageString( $k, 1, 5, $y + ($dy * 0.5), $aNumName[ $keys[$i] ], $brown ); //imageString( $k, 1, ( $i % 2 == 0 ? 5 : 45 ), $y + ($dy * 0.1), // $aNumName[ $keys[$i] ], $brown ); if( $iFS > 39) $iWk = ( $i % 2 == 0 ? 5 : 45 ) + 5; else $iWk = 5 + 5; if( isset($aNumName[ $keys[$i] ]) ) imageString( $k, $sfont, $iWk, $y + $sdy, $aNumName[ $keys[$i] ], $brown ); else imageString( $k, $sfont, $iWk, $y + $sdy, "*" . $keys[$i], $brown ); //$dxx = 2; // only for 5 in Hor ? //if( $i % 2 == 0 ) { // $wk = " " . ($i+1); //if( ($i+1) % 5 == 0 ) { //+if( $iFS > 19 && (($i+1) % 5 != 0) ) continue; // Skip last if prev has been displayed: if( $iFS > 19 && (($i+1) % 5 == 1) && ($i == ($iFS - 1)) ) continue; // Display only 1st and every 5th: if( $iFS > 19 && (($i+1) % 5 != 0) && $i > 0 && ($i != ($iFS - 1)) ) continue; $wk = " " . ($i+1); if( $i < 99 ) $wk = " " . $wk; if( $i < 9 ) $wk = " " . $wk; //if( $i > 8 ) $dxx = 0; // Vert: //imageString( $k, 1, $dx1 - 24, $y + ($dy * 0.1), $wk, $brown ); // 0.1 0.2 0.5 imageString( $k, 1, $dx1 - 24, $y , $wk, $brown ); // 0.1 0.2 0.5 imageString( $k, 1, $wid - $dx2 +4, $y , $i+1, $brown ); // 0.1 0.2 0.5 // Skip last hor if also 2nd prev has been displayed: if( $iFS > 19 && ((($i+1) % 5 == 1)||(($i+1) % 5 == 2))&& ($i == ($iFS - 1)) ) continue; // Hor: imageString( $k, 1, $x, $dy1 - 10 , $i+1, $brown ); // 0.1 0.2 0.5 imageString( $k, 1, $x, $hei - $dy2 + 2 , $i+1, $brown ); // 0.1 0.2 0.5 //} } $fmot = fopen( $F_M2M, "r" ); $i = 1; $i = 0; while( $buf = fgets( $fmot, 128 ) ) { if( substr( $buf, 0,5 ) == "Super" ) { //f_smOut( $buf, $i++, "a" ); //echo $buf; $parts = split( "[ ]+", $buf, 8 ); //$pos = strpos( $buf, ".dat" ); //$ix = $aFS[substr( $buf, $pos + 5, 6 )]; //$pos2 = strpos( $buf, ".dat", $pos + 10 ); //$iy = $aFS[substr( $buf, $pos2 + 5, 6 )]; //$power = substr( $buf, $pos2 + 12, 6 ); //+echo "part2=", $parts[2], "*
"; $ix = $aFS[ $parts[2] ]; $iy = $aFS[ $parts[4] ]; $power = $parts[5]; settype( $power, "double" ); if( $i == 0 ) { $pmin = $power; $pmax = $power; } else { if( $pmin > $power ) $pmin = $power; if( $pmax < $power ) $pmax = $power; //echo " pmm = ", $pmin, ",",$pmax, "
"; } //echo "p = *", $power, "*
"; $i++; // ? $wk = $ix . "," . $iy; $wk = "$ix,$iy"; if( !isset( $aSS[$wk] ) ) { $aSS[$wk] = $power; } else { $p = $aSS[$wk]; if( $power > $p ) $aSS[$wk] = $power; } //$x = $dx1+$dx*($ix - 1); //$y = $dy1+$dy*($iy - 1); //$ic = f_clr( $k, $power, 4, 15 ); //imagefilledrectangle( $k, $x, $y, $x + $dx, $y + $dy, $ic ); //$brown ); } } fclose( $fmot ); $keys = array_keys( $aSS ); $imedi = count( $keys ) * 0.5; settype( $imedi, "integer" ); $pmedi = $pmax; // init for( $i = 0; $i < count( $keys ); $i++ ) { $xy = $keys[$i]; $power = $aSS[ $xy ]; if( $i == $imedi ) $pmedi = $power; $pos = strpos( $xy, "," ); $ix = substr( $xy, 0, $pos ); $iy = substr( $xy, $pos + 1 ); settype( $ix, "integer" ); settype( $iy, "integer" ); $x = $dx1+$dx*($ix - 1); $y = $dy1+$dy*($iy - 1); $ic = f_clr( $k, $power, $pmax, $pmin ); //+imagefilledrectangle( $k, $x, $y, $x + $dx, $y + $dy, $ic ); //$brown ); //imageArc ( $k, $x + $dx * 0.5, $y + $dy * 0.5, $dx - 1, $dy - 1, 0, 360, $ic ); //$brown ); $xs = ($dx - 1) * $power / $pmax; if( $xs < 3 ) $xs = 3; $ys = ($dy - 1) * $power / $pmax; if( $ys < 3 ) $ys = 3; //+imageArc ( $k, $x + $dx * 0.5, $y + $dy * 0.5, $xs, $ys, 0, 360, $ic ); //$brown ); //+imageFill( $k, $x + $dx * 0.5, $y + $dy * 0.5, $ic ); // rect ? imagefilledrectangle( $k, $x, $y, $x + $dx, $y + $dy, $ic ); //$brown ); } // Lines: for( $i = 0; $i < $iFS + 1; $i++ ) { $x = $dx1+$dx*$i; $y = $dy1+$dy*$i; imageLine( $k, $dx1, $y , $wid - $dx2, $y , $lgray ); imageLine( $k, $x , $dy1, $x , $hei - $dy2 , $lgray ); //imageString( $k, 3, 5, $y + ($dy * 0.5), $keys[$i], $brown ); } **/ // Internal frame ImageRectangle( $k, $dx1, $dy1 , $wid - $dx2, $hei - $dy2 , $brown); ImageString( $k, 3, $dx1+3+3, $dy1 +2, "Probability to predict", $green2 ); $wk = "Failure to predict"; ImageString( $k, 3, $wid - $dx2 - 3 - strlen($wk) * 9, $hei - $dy2 - 13, $wk, $red2 ); /** // Legends: $sp = 20; // leg.space $yleg = $hei - 20; ImageString( $k, 2, $dx1, $yleg, "Legends: ", $brown ); $xleg = $dx1 + 10*6; // + $sp; $ic = f_clr( $k, $pmax, $pmax, $pmin ); imagefilledrectangle( $k, $xleg, $yleg+2, $xleg + 14, $yleg + 13, $ic ); $xleg += (14 + 4); ImageString( $k, 2, $xleg, $yleg, $pmax . " (max power)", $brown ); $xleg += (18 * 6 + $sp); $ic = f_clr( $k, $pmedi, $pmax, $pmin ); imagefilledrectangle( $k, $xleg, $yleg+2, $xleg + 14, $yleg + 13, $ic ); $xleg += (14 + 4); ImageString( $k, 2, $xleg, $yleg, $pmedi, $brown ); $xleg += (6 * 6 + $sp); $ic = f_clr( $k, $pmin, $pmax, $pmin ); imagefilledrectangle( $k, $xleg, $yleg+2, $xleg + 14, $yleg + 13, $ic ); $xleg += (14 + 4); ImageString( $k, 2, $xleg, $yleg, $pmin . " (min)", $brown ); // Opt Line: ImageStringUp( $k, 1, $wid - 17, $hei - $dy2 - 2, $opt, $brown ); **/ // Opt Line: ImageString( $k, 1, $dx1, $hei - 16, $opt, $brown ); // Image file: ImageStringUp( $k, 1, $wid - 16, $hei - $dy2 - 1, $im_file, $brown ); // ******************************************* //$er = imageGif( $k, $im_file ); // ************ Linux GIF $er = imagePng( $k, $im_file ); // ******************************************* } ?>