如果您想使用開放多邊形,但受限於 7.2 之前的 PHP 版本,一個解決方案可能是將您的陣列「回溯」到其原始起點。假設您有一個像素陣列(以下以逗號分隔)
這段 PHP 程式碼建立一個多邊形。程式碼首先初始化一個空陣列 `$arr`。接著,它迴圈處理 `$pixels` 陣列,其中每個元素代表一個像素的 x 和 y 座標,以逗號分隔。在迴圈內,它使用 `explode` 函式將每個像素字串分割成 x 和 y 座標。如果 x 和 y 座標都大於 0,則將它們添加到 `$arr` 陣列中。最後,它使用 `imagepolygon` 函式在圖像 `$im` 上繪製一個多邊形,使用 `$arr` 中的座標作為頂點,並使用 `$otcolor` 作為多邊形的顏色。
你可以用類似以下的程式碼取代它
這段 PHP 程式碼也建立一個多邊形,但使用了不同的方法。與前一段程式碼類似,它首先初始化一個空陣列 `$arr`,並迴圈處理 `$pixels` 陣列,將每個像素的 x 和 y 座標添加到 `$arr` 中。不同之處在於,它接著又以相反的順序迴圈處理 `$pixels` 陣列,再次將每個像素的 x 和 y 座標添加到 `$arr` 中。這有效地建立了多邊形的頂點,使其閉合。最後,它使用 `imagepolygon` 函式在圖像 `$im` 上繪製多邊形,使用 `$arr` 中的座標作為頂點,並使用 `$otcolor` 作為多邊形的顏色。註解指出沒有 `imageopenpolygon` 函式可用,因此需要這種方法來建立閉合的多邊形。