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);
?>imageopenpolygon
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
imageopenpolygon
Референца за `function.imageopenpolygon.php` со подобрена типографија и навигација.
imageopenpolygon
(PHP 7 >= 7.2.0, PHP 8)
imageopenpolygon — Црта отворен полигон
= NULL
Потпис од PHP 8.0.0 (не е поддржано со именувани аргументи)
Алтернативен потпис (застарен од PHP 8.1.0)
imageopenpolygon() црта отворен полигон на дадениот
image. Спротивно на imagepolygon(), не се црта линија помеѓу последната и првата точка.
Параметри
-
image А GdImage не применува никакво полнење, така што ширината на сликата мора да биде множител на 8. Ова ограничување веќе не важи од PHP 7.0.9. imagecreatetruecolor().
points-
Низа што ги содржи врвовите на полигонот, на пр.:
точки[0] = x0 точки[1] = y0 точки[2] = x1 точки[3] = y1 num_points-
Вкупен број на точки (врвови), кој мора да биде најмалку 3.
Ако овој параметар е изоставен според вториот потпис,pointsмора да има парен број елементи, иnum_pointsсе претпоставува дека еcount($points)/2. color-
Низата што треба да се напише. imagecolorallocate().
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.1.0 |
за да ја поставите опцијата глобално. num_points е укинат.
|
| 8.0.0 |
image беше вратено при неуспех. GdImage
инстанца сега; претходно, валидна gd resource се очекуваше.
|
Примери
Пример #1 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
),
$col_poly);
// Output the picture to the browser
header('Content-type: image/png');
imagepng($image);
?>Горниот пример ќе прикаже нешто слично на:
Види Исто така
- imagepolygon() - Црта полигон