pajoye Mon Dec 26 19:11:51 2005 EDT Added files: /php-src/ext/gd/tests gif.phpt Log: - basic gif i/o test
http://cvs.php.net/viewcvs.cgi/php-src/ext/gd/tests/gif.phpt?view=markup&rev=1.1 Index: php-src/ext/gd/tests/gif.phpt +++ php-src/ext/gd/tests/gif.phpt --TEST-- gif in/out --SKIPIF-- <?php // $Id: gif.phpt,v 1.1 2005/12/26 19:11:51 pajoye Exp $ if (!extension_loaded('gd')) { die("skip gd extension not available."); } if (!function_exists("imagegif") || !function_exists("imagecreatefromgif")) { die("skip gif support unavailable"); } ?> --FILE-- <?php function check_box($r,$g,$b, $error=0) { $cwd = dirname(__FILE__); $im2 = imagecreatefromgif($cwd . '/test_gif.gif'); $c = imagecolorsforindex($im2, imagecolorat($im2, 8,8)); if ($error>0) { $r_min = $r - $error; $r_max = $r + $error; $g_min = $g - $error; $g_max = $g + $error; $b_min = $b - $error; $b_max = $b + $error; if ( ($c['red'] >= $r_min || $c['red'] <= $r_max) && ($c['green'] >= $g_min || $c['green'] <= $g_max) && ($c['blue'] >= $b_min || $c['blue'] <= $b_max) ) { return true; } else { return false; } } else { if ($c['red']==$r && $c['green']==$g && $c['blue']==$b) { return true; } else { return false; } } } $cwd = dirname(__FILE__); $im = imagecreate(10,10); $c = imagecolorallocate($im, 255,255,255); imagefilledrectangle($im, 5,5, 10,10, $c); imagegif($im, $cwd . '/test_gif.gif'); if (check_box(255,255,255)) { echo "<4 cols: ok\n"; } $im = imagecreate(10,10); for ($i=0; $i<7; $i++) { $c = imagecolorallocate($im, $i,$i,$i); } imagefilledrectangle($im, 5,5, 10,10, $c); imagegif($im, $cwd . '/test_gif.gif'); $i--; if (check_box($i,$i,$i)) { echo "<8 cols: ok\n"; } $im = imagecreate(10,10); for ($i=0; $i<15; $i++) { $c = imagecolorallocate($im, $i,$i,$i); } imagefilledrectangle($im, 5,5, 10,10, $c); imagegif($im, $cwd . '/test_gif.gif'); $i--; if (check_box($i,$i,$i)) { echo "<16 cols: ok\n"; } $im = imagecreate(10,10); for ($i=0; $i<31; $i++) { $c = imagecolorallocate($im, $i,$i,$i); } imagefilledrectangle($im, 5,5, 10,10, $c); imagegif($im, $cwd . '/test_gif.gif'); $i--; if (check_box($i,$i,$i)) { echo "<32 cols: ok\n"; } $im = imagecreate(10,10); for ($i=0; $i<63; $i++) { $c = imagecolorallocate($im, $i,$i,$i); } imagefilledrectangle($im, 5,5, 10,10, $c); imagegif($im, $cwd . '/test_gif.gif'); $i--; if (check_box($i,$i,$i)) { echo "<64 cols: ok\n"; } $im = imagecreate(10,10); for ($i=0; $i<127; $i++) { $c = imagecolorallocate($im, $i,$i,$i); } imagefilledrectangle($im, 5,5, 10,10, $c); imagegif($im, $cwd . '/test_gif.gif'); $i--; if (check_box($i,$i,$i)) { echo "<128 cols: ok\n"; } $im = imagecreate(10,10); for ($i=0; $i<255; $i++) { $c = imagecolorallocate($im, $i,$i,$i); } imagefilledrectangle($im, 5,5, 10,10, $c); imagegif($im, $cwd . '/test_gif.gif'); $i--; if (check_box($i,$i,$i)) { echo "<256 cols: ok\n"; } $im = imagecreatefromjpeg($cwd . '/conv_test.jpeg'); imagefilledrectangle($im, 5,5, 10,10, 0xffffff); imagegif($im, $cwd . '/test_gif.gif'); imagegif($im, $cwd . '/test_gif_2.gif'); if (check_box(255,255,255, 10)) { echo ">256 cols: ok\n"; } @unlink($cwd . "/test_gif.gif"); ?> --EXPECT-- <4 cols: ok <8 cols: ok <16 cols: ok <32 cols: ok <64 cols: ok <128 cols: ok <256 cols: ok >256 cols: ok -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php