php-src/ext/gd/tests/imagepolygon_basic.phpt
Michael Orlitzky 065b4ec125
ext/gd/tests: backport optional PNG support
- Three of our gd tests could be skipped with a message about requiring
bundled GD, but those tests don't actually require bundled GD. We
update the messages to mention the specific functions that are
required.

- add SKIPIF stanzas for missing PNG support

The bundled libgd always has PNG support, but an external one may not.

- imagerotate() is always available

Following 59ec80c5, the imagerotate() function is always available. We
may therefore remove its function_exists() checks without harm.

close GH-17894
2025-02-23 16:01:30 +00:00

76 lines
1.3 KiB
PHP

--TEST--
imagepolygon()
--EXTENSIONS--
gd
--SKIPIF--
<?php
if (!function_exists('imagepolygon')) die('skip imagepolygon() not available');
if (!(imagetypes() & IMG_PNG)) {
die("skip No PNG support");
}
?>
--FILE--
<?php
echo "Simple test of imagepolygon() function\n";
$dest = dirname(realpath(__FILE__)) . '/imagepolygon.png';
// create a blank image
$image = imagecreatetruecolor(400, 300);
// set the background color to black
$bg = imagecolorallocate($image, 0, 0, 0);
// draw a red polygon
$col_poly = imagecolorallocate($image, 255, 0, 0);
// draw the polygon
imagepolygon($image, array (
0, 0,
100, 200,
300, 200
),
$col_poly);
// output the picture to a file
imagepng($image, $dest);
$col1 = imagecolorat($image, 100, 200);
$col2 = imagecolorat($image, 100, 100);
$color1 = imagecolorsforindex($image, $col1);
$color2 = imagecolorsforindex($image, $col2);
var_dump($color1, $color2);
imagedestroy($image);
echo "Done\n";
?>
--CLEAN--
<?php
$dest = dirname(realpath(__FILE__)) . '/imagepolygon.png';
@unlink($dest);
?>
--EXPECT--
Simple test of imagepolygon() function
array(4) {
["red"]=>
int(255)
["green"]=>
int(0)
["blue"]=>
int(0)
["alpha"]=>
int(0)
}
array(4) {
["red"]=>
int(0)
["green"]=>
int(0)
["blue"]=>
int(0)
["alpha"]=>
int(0)
}
Done