猿问

PHP图像处理,imagefill 疑问?

代码如下:

<?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 不起作用?

繁华开满天机
浏览 767回答 3
3回答

BIG阳

这个是你没有详细阅读定义 这里写了imagefill填充是从image图像的左上角0,0开始用颜色把与x,y颜色相同相邻的点全部填充。回到这个问题,你的$im应该是个白色的,左上角0,0与x(50),y(50)的颜色是相同的 所以会从左上角开始充满,然后相邻的都是同色,所以结果就是全部变成了红色
随时随地看视频慕课网APP
我要回答