imageopenpolygon()
(PHP 7 >= 7.2.0)
Draws an open polygon
说明
imageopenpolygon(resource $image,array $points,int $num_points,int $color): bool
imageopenpolygon() draws an open polygon on the given$image. Contrary to imagepolygon(), no line is drawn between the last and the first point.
参数
- $image
- 由图象创建函数(例如imagecreatetruecolor())返回的图象资源。 
- $points
- An array containing the polygon's vertices, e.g.: - points[0] - = x0 - points[1] - = y0 - points[2] - = x1 - points[3] - = y1 
- $num_points
- Total number of points(vertices), which must be at least 3. 
- $color
- A color identifier created with imagecolorallocate(). 
返回值
成功时返回TRUE,或者在失败时返回FALSE。
范例
imageopenpolygon() example
<?php
// Create a blank image
$image = imagecreatetruecolor(400, 300);
// Allocate a color for the polygon
$col_poly = imagecolorallocate($image, 255, 255, 255);
// Draw the polygon
imageopenpolygon($image, array(
        0,   0,
        100, 200,
        300, 200
    ),
    3,
    $col_poly);
// Output the picture to the browser
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
以上例程的输出类似于:

参见
- imagepolygon()画一个多边形
In case you want to use an open polygon but are stuck with a PHP version prior to 7.2, a solution may be to 'backplot' your array to its original start. Say you have an array of pixels (below seperated by commas)
<?php
$arr = array();
for ($i = 0; $i < count($pixels); $i++) {
  $pixel = explode(',', $pixels[$i]);
  if (($pixel[0] > 0) && ($pixel[1] > 0)) {
    $arr[] = $pixel[0];
    $arr[] = $pixel[1];
  }
}
imagepolygon($im, $arr, (count($arr) / 2), $otcolor);
?>
you can replace this by something like
<?php
$arr = array();
for ($i = 0; $i < count($pixels); $i++) {
  $pixel = explode(',', $pixels[$i]);
  $arr[] = $pixel[0];
  $arr[] = $pixel[1];
}
// imageopenpolygon($im, $arr, (count($arr) / 2), $otcolor) is not possible, so...
for ($i = (count($pixels)-1); $i >= 0; $i--) {
  $pixel = explode(',', $pixels[$i]);
  $arr[] = $pixel[0];
  $arr[] = $pixel[1];
}
imagepolygon($im, $arr, (count($arr) / 2), $otcolor);
?>
