代码如下:
<?php
$im = imagecreatetruecolor ( 100, 100 ); // 创建100*100大小的画布
$red = imagecolorallocate ( $im, 255, 0, 0 ); // 设置一个颜色变量为红色
imagefill ( $im, 50, 50, $red ); // 将背景设为红色
//imagefill ( $im, 0, 0, $red ); // 将背景设为红色
header ( 'Content-type: image/png' ); // 通知浏览器这不是文本而是一个图片
imagepng ( $im ); // 生成PNG格式的图片输出给浏览器
imagedestroy ( $im ); //销毁图像资源,释放画布占用的内存空间
问题:为什么 imagefill ( $im, 50, 50, $red );
和 imagefill ( $im, 0, 0, $red );
都是从 0,0 开始,50,50 不起作用?
这个很好理解,你看下画图程序里面的染色桶,

只要是一块画布,他是不是可以在某个区域任意一点对画布上该区域进行色彩填充
这个imagefill 和你那个差不多,都是任意一点“点一下”就会对整个区域进行色彩填充,所以点击50,50和0,0效果一样
你要想从50,50开始填充,应当再建立一块画布,上色,然后从50,50开始复制到原画布上,imagecopymerge