欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP GD绘图问题,请大牛帮忙。感觉很简单,但是本人太菜,弄不懂

程序员文章站 2024-01-06 15:31:22
...
代码如下


这个imagefill是从后面第二第三个参数,也就是X,Y坐标开始填充,但是为什么显示的却是整个png都填充了?


回复讨论(解决方案)

imagefill 的第二、第三个参数 是被充填区域内的一点
这个点作为种子(始发点)向周围扩散
能理解吗?

imagefill 的第二、第三个参数 是被充填区域内的一点
这个点作为种子(始发点)向周围扩散
能理解吗?


那如何才能只填充其中的一部分呢

imagefilledarc -- 画一椭圆弧且填充
imagefilledarc -- 画一椭圆弧且填充
imagefilledpolygon -- 画一多边形并填充
imagefilledrectangle -- 画一矩形并填充
imagefilltoborder -- 区域填充到指定颜色的边界为止

imagefilledarc -- 画一椭圆弧且填充
imagefilledarc -- 画一椭圆弧且填充
imagefilledpolygon -- 画一多边形并填充
imagefilledrectangle -- 画一矩形并填充
imagefilltoborder -- 区域填充到指定颜色的边界为止

那能在跟我讲一下imagefill吗 上面你说的那个扩散只是一知半解 。

你不看手册的吗?
手册中都有示例代码

你不看手册的吗?
手册中都有示例代码

imagefill() 在 image 图像的坐标 x,y(图像左上角为 0, 0)处用 color 颜色执行区域填充(即与 x, y 点颜色相同且相邻的点都会被填充)。 手册上这么写,看不太明白

不是说了么,点(x,y)是种子,种子当然只会繁衍出相同的后代
如果点(x,y) 是红色,那么与他相邻的红色的点都会被改变

这个你的自己动动手,光是冥想是理解不了的

$im = imagecreatetruecolor(300, 200);$white = imagecolorallocate($im, 255, 255, 255);$red = imagecolorallocate($im, 255, 0, 0);$green = imagecolorallocate($im, 0, 255, 0);$blue = imagecolorallocate($im, 0, 0, 255);imagefill($im, 0, 0, $white);imagerectangle($im, 50, 30, 250, 170, $red);imagefill($im, 51, 31, $green);imagepng($im);

这个你的自己动动手,光是冥想是理解不了的

$im = imagecreatetruecolor(300, 200);$white = imagecolorallocate($im, 255, 255, 255);$red = imagecolorallocate($im, 255, 0, 0);$green = imagecolorallocate($im, 0, 255, 0);$blue = imagecolorallocate($im, 0, 0, 255);imagefill($im, 0, 0, $white);imagerectangle($im, 50, 30, 250, 170, $red);imagefill($im, 51, 31, $green);imagepng($im);
恩,知道了 ,明白了

上一篇:

下一篇: