ImageGD未正确填充

时间:2011-03-09 14:49:59

标签: php image fill

Hay,我正在使用此代码生成图像并用灰色填充它。

$canvas = imagecreatetruecolor(100, 100);
$gray = imagecolorallocate($canvas, 0xEE, 0xEE, 0xEE);
imagefill($canvas, 0, 0, $gray);    
imagegif($canvas);

这样可以正常工作,但如果我将画布大小更改为“长”图像,则无法填充。

$canvas = imagecreatetruecolor(1, 100);

这是一个常见的错误吗?或者我还需要其他选择吗?我如何填满整个画布?

1 个答案:

答案 0 :(得分:1)

看起来像个错误。我确认了同样的行为。如果你指定宽度为1,它只填充前2个像素。类似于2或3. 4似乎是一个神奇的值 - 它开始在那里工作。

另一方面,如果您使用1px高的图像,似乎没有出现此错误,即我尝试了这个并且它按预期工作:

$canvas = imagecreatetruecolor(100, 1);                                                                                                                 
$red = imagecolorallocate($canvas, 0xEE, 0, 0);                                                                                                         
imagefill($canvas, 0, 0, $red);                                                                                                                     
imagegif($canvas, "output.png");  

所以这可能是一种解决方法。