mirror of
https://github.com/php/php-src.git
synced 2024-12-20 07:20:33 +08:00
2de79f0855
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`.
22 lines
626 B
PHP
22 lines
626 B
PHP
--TEST--
|
|
Bug #55005 (imagepolygon num_points requirement)
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded('gd')) die('skip gd extension not available');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
require_once __DIR__ . '/func.inc';
|
|
|
|
$g = imagecreate(300, 300);
|
|
$bgnd = imagecolorallocate($g, 255, 255, 255);
|
|
$fgnd = imagecolorallocate($g, 0, 0, 0);
|
|
trycatch_dump(
|
|
fn () => imagefilledpolygon($g, array(100,10, 100,100, 180,100), 2, $fgnd),
|
|
fn () => imagepolygon($g, array(200,10, 200,100, 280,100), 2, $fgnd)
|
|
);
|
|
?>
|
|
--EXPECTF--
|
|
!! [ValueError] Polygon must have at least 3 points
|
|
!! [ValueError] Polygon must have at least 3 points
|