我合并了两张图片。 First Image将始终为白色,扩展名为PNG,大小为1200px X 628px。第二幅图像的尺寸为1000px X 495px。但是当我合并那些图像时,白色图像会转换为黑色图像。并显示第二个图像的背景是黑色的。 请帮我解决这个问题,并将黑色图像变成白色图像。
答案 0 :(得分:0)
在代码中添加以下行,您的问题应该得到解决,
imagealphablending($new_image, false);
imagesavealpha($new_image, true);
$transparent = imagecolorallocatealpha($new_image, 255, 255, 255, 127);
imagefilledrectangle($new_image, 0, 0, $width, $height, $transparent);
仅供参考,用于调整图像大小的完整源代码,
function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
if ($this->image_type == IMAGETYPE_PNG){
imagealphablending($new_image, false);
imagesavealpha($new_image, true);
$transparent = imagecolorallocatealpha($new_image, 255, 255, 255, 127);
imagefilledrectangle($new_image, 0, 0, $width, $height, $transparent);
}
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}