首頁 > 後端開發 > php教程 > PHP GD绘图问题,请大牛帮忙。感觉很简单,但是本人太菜,弄不懂

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

WBOY
發布: 2016-06-20 12:30:03
原創
755 人瀏覽過

代码如下

<?php$im = imagecreatetruecolor(400,200);$background = imagecolorallocate($im,0,0,0);$black = imagecolorallocate($im,0,255,255);imagefill($im, 100, 100, $black);header("content-type:image/png");imagepng($im);//提示:对于用 imagecreate() 建立的图像,第一次调用 imagecolorallocate() 会自动给图像填充背景色。?>
登入後複製


这个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);
登入後複製
登入後複製

恩,知道了 ,明白了
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板