使用php生成图像,背景总是错误的颜色

时间:2011-09-30 15:22:21

标签: php image gd

该功能是当用户上传图片时,程序将生成一个新的白色背景图像,并将用户的图片放在该图像的中心。

但问题是,我将背景设置为白色,它总是显示为黑色。

代码是

$capture = imagecreatetruecolor($width, $height);
$rgb = explode(",", $this->background); 
$white = imagecolorallocate($capture, $rgb[0], $rgb[1], $rgb[2]); 
imagefill($capture, 0, 0, $white); 

和控制颜色的代码是     protected $background = "255,255,255";

我已尝试将$white = imagecolorallocate($capture, $rgb[0], $rgb[1], $rgb[2]);更改为$white = imagecolorallocate($capture, 255, 255, 255);。但背景仍以黑色显示。

感谢您的回答

2 个答案:

答案 0 :(得分:3)

从手册imagecreatetruecolor() returns an image identifier representing a black image of the specified size.第一次调用imagecolorallocate设置基于调色板的图像的背景,但不设置真彩色图像。

我在真彩色图像上设置背景颜色的方法是用实心矩形填充它。

imagefilledrectangle($capture, 0, 0, $width, $height, $white);

答案 1 :(得分:0)

imagefill($im, x, y, $color)怎么办?

$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);

这将用红色填充整个图像,x,y参数是矩形填充的起点。