答案:PHP-GD通过imagefilledpolygon()函数可填充任意多边形,需提供有序顶点坐标数组、顶点数量及填充颜色,注意坐标顺序和数组格式正确,适用于三角形、四边形等闭合区域填充。

PHP-GD 本身没有直接提供“填充任意多边形”的函数,但可以通过 imagefilledpolygon() 函数实现对自定义多边形区域的填充。只要提供多边形各个顶点的坐标,GD 库就能绘制并填充闭合区域。
该函数可以绘制并填充一个由多个点连接而成的闭合多边形。适合用来填充三角形、四边形或任意边数的形状。
语法:imagefilledpolygon ( resource $image , array $points , int $num_points , int $color ) : bool
参数说明:
立即学习“PHP免费学习笔记(深入)”;
下面是一个完整例子,创建图像并填充一个自定义五边形:
<?php
// 创建画布
$im = imagecreatetruecolor(400, 300);
<p>// 分配颜色
$bg = imagecolorallocate($im, 255, 255, 255); // 白色背景
$fillColor = imagecolorallocate($im, 0, 128, 255); // 蓝色填充</p><p>// 填充背景
imagefill($im, 0, 0, $bg);</p><p>// 定义五边形的顶点(x,y 成对出现)
$points = [
200, 50, // 顶点1
300, 100, // 顶点2
270, 200, // 顶点3
130, 200, // 顶点4
100, 100 // 顶点5
];</p><p>// 填充多边形(5个顶点)
imagefilledpolygon($im, $points, 5, $fillColor);</p><p>// 输出图像
header('Content-Type: image/png');
imagepng($im);</p><p>// 释放内存
imagedestroy($im);
?></p>使用时注意以下几点,避免常见问题:
基本上就这些。只要把多边形的角标找出来,交给 imagefilledpolygon(),就能实现任意形状的填充。不复杂但容易忽略坐标的顺序和格式。
以上就是php-gd怎么填充自定义形状_php-gd填充任意多边形区域的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号