该功能是当用户上传图片时,程序将生成一个新的白色背景图像,并将用户的图片放在该图像的中心。
但问题是,我将背景设置为白色,它总是显示为黑色。
代码是
$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);
。但背景仍以黑色显示。
感谢您的回答
答案 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
参数是矩形填充的起点。