1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 09:42:22 +01:00
Files
archived-php-src/ext/gd/tests/imagepolygon_basic.phpt
Christoph M. Becker 2de79f0855 Make the $num_points parameter of php_imagepolygon optional
That parameter is mostly useless in practise, and likely has been
directly ported from the underlying `gdImagePolygon()` and friends,
which require that parameter since the number of elements of the point
array would otherwise be unknown.  Typical usages of `imagepolygon()`,
`imageopenpolygon()` and `imagefilledpolygon()` pass `count($points)/2`
or hard-code this value as literal.  Since explicitly specifying this
parameter is annoying and error-prone, we offer the possibility to omit
it, in which case the `$points` array must have an even number of
elements, and the number of points is calculated as `count($points)/2`.
2019-11-15 09:41:10 +01:00

79 lines
1.4 KiB
PHP

--TEST--
imagepolygon()
--SKIPIF--
<?php
if (!function_exists('imagepolygon')) die('skip imagepolygon() not available');
?>
--FILE--
<?php
/* Prototype : bool imagepolygon ( resource $image , array $points , int $num_points , int $color )
* Description: Draws a polygon.
* Source code: ext/gd/gd.c
* Alias to functions:
*/
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