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>