Annotation of embedaddon/php/ext/gd/tests/libgd00100.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: libgd #100 (spurious horizontal line drawn by gdImageFilledPolygon)
                      3: --SKIPIF--
                      4: <?php
                      5:        if (!extension_loaded('gd')) die("skip gd extension not available\n");
                      6:        if (!GD_BUNDLED) die("skip requires bundled GD library\n");
                      7: ?>
                      8: --FILE--
                      9: <?php
                     10: $im = imagecreatetruecolor(256, 256);
                     11: 
                     12: $white   = imagecolorallocatealpha($im, 255, 255, 255, 10);
                     13: $black   = imagecolorallocatealpha($im,   0,   0,   0, 10);
                     14: $red     = imagecolorallocatealpha($im, 255,   0,   0, 10);
                     15: $green   = imagecolorallocatealpha($im,   0, 255,   0, 10);
                     16: $blue    = imagecolorallocatealpha($im,   0,   0, 255, 10);
                     17: $yellow  = imagecolorallocatealpha($im, 255, 255,   0, 10);
                     18: $cyan    = imagecolorallocatealpha($im,   0, 255, 255, 10);
                     19: $magenta = imagecolorallocatealpha($im, 255,   0, 255, 10);
                     20: $purple  = imagecolorallocatealpha($im, 100,   0, 100, 10);
                     21: 
                     22: imagefilledrectangle($im, 0, 0, 255, 255, $white);
                     23: 
                     24: // M (bridge)
                     25: $top = 240;
                     26: $bot = 255;
                     27: $d = 30;
                     28: $x = 100;
                     29: $points = array(
                     30:   $x,      $top,
                     31:   $x+2*$d, $top,
                     32:   $x+2*$d, $bot,
                     33:   $x+$d,   ($top+$bot)/2,
                     34:   $x,      $bot
                     35: );
                     36: imagefilledpolygon($im, $points, 5, $yellow);
                     37: 
                     38: // left-facing M not on baseline
                     39: $top = 40;
                     40: $bot = 70;
                     41: $left = 120;
                     42: $right = 180;
                     43: $points = array(
                     44:   $left,  $top,
                     45:   $right, $top,
                     46:   $right, $bot,
                     47:   $left,  $bot,
                     48:   ($left+$right)/2, ($top+$bot)/2
                     49: );
                     50: imagefilledpolygon($im, $points, 5, $purple);
                     51: 
                     52: // left-facing M on baseline
                     53: $top = 240;
                     54: $bot = 270;
                     55: $left = 20;
                     56: $right = 80;
                     57: $points = array(
                     58:   $left,  $top,
                     59:   $right, $top,
                     60:   $right, $bot,
                     61:   $left,  $bot,
                     62:   ($left+$right)/2, ($top+$bot)/2
                     63: );
                     64: imagefilledpolygon($im, $points, 5, $magenta);
                     65: 
                     66: // left-facing M on ceiling
                     67: $top = -15;
                     68: $bot = 15;
                     69: $left = 20;
                     70: $right = 80;
                     71: $points = array(
                     72:   $left,  $top,
                     73:   $right, $top,
                     74:   $right, $bot,
                     75:   $left,  $bot,
                     76:   ($left+$right)/2, ($top+$bot)/2
                     77: );
                     78: imagefilledpolygon($im, $points, 5, $blue);
                     79: 
                     80: $d = 30;
                     81: $x = 150;
                     82: $y = 150;
                     83: $diamond = array($x-$d, $y, $x, $y+$d, $x+$d, $y, $x, $y-$d);
                     84: imagefilledpolygon($im, $diamond, 4, $green);
                     85: 
                     86: $x = 180;
                     87: $y = 225;
                     88: $diamond = array($x-$d, $y, $x, $y+$d, $x+$d, $y, $x, $y-$d);
                     89: imagefilledpolygon($im, $diamond, 4, $red);
                     90: 
                     91: $x = 225;
                     92: $y = 255;
                     93: $diamond = array($x-$d, $y, $x, $y+$d, $x+$d, $y, $x, $y-$d);
                     94: imagefilledpolygon($im, $diamond, 4, $cyan);
                     95: 
                     96: // M (bridge) not touching bottom boundary
                     97: $top = 100;
                     98: $bot = 150;
                     99: $x = 30;
                    100: $points = array(
                    101:   $x,      $top,
                    102:   $x+2*$d, $top,
                    103:   $x+2*$d, $bot,
                    104:   $x+$d,   ($top+$bot)/2,
                    105:   $x,      $bot
                    106: );
                    107: imagefilledpolygon($im, $points, 5, $black);
                    108: 
                    109: ob_start();
                    110: imagepng($im);
                    111: $png = ob_get_contents();
                    112: ob_end_clean();
                    113: 
                    114: echo md5($png);
                    115: 
                    116: imagedestroy($im);
                    117: ?>
                    118: --EXPECTF--
                    119: 2e6cf558bb4dadf60c8b608d5f8cda4e

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>