Annotation of embedaddon/php/ext/gd/tests/libgd00100.phpt, revision 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>