mirror of
https://github.com/php/php-src.git
synced 2026-03-24 16:22:37 +01:00
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`.
28 lines
889 B
PHP
28 lines
889 B
PHP
--TEST--
|
|
imageopenpolygon(): basic test
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded('gd')) die('skip gd extension not available');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc';
|
|
|
|
$im = imagecreatetruecolor(100, 100);
|
|
$white = imagecolorallocate($im, 255, 255, 255);
|
|
$black = imagecolorallocate($im, 0, 0, 0);
|
|
$red = imagecolorallocate($im, 255, 0, 0);
|
|
$green = imagecolorallocate($im, 0, 128, 0);
|
|
$blue = imagecolorallocate($im, 0, 0, 255);
|
|
imagefilledrectangle($im, 0,0, 99,99, $white);
|
|
|
|
imageopenpolygon($im, [10,10, 49,89, 89,10], $black);
|
|
imageopenpolygon($im, [10,89, 35,10, 60,89, 85,10], $red);
|
|
imageopenpolygon($im, [10,49, 30,89, 50,10, 70,89, 90,10], $green);
|
|
imageopenpolygon($im, [10,50, 25,10, 40,89, 55,10, 80,89, 90,50], $blue);
|
|
|
|
test_image_equals_file(__DIR__ . DIRECTORY_SEPARATOR . 'imageopenpolygon.png', $im);
|
|
?>
|
|
--EXPECT--
|
|
The images are equal.
|