PHP合并图像

时间:2015-01-06 05:22:53

标签: php image

我合并了两张图片。 First Image将始终为白色,扩展名为PNG,大小为1200px X 628px。第二幅图像的尺寸为1000px X 495px。但是当我合并那些图像时,白色图像会转换为黑色图像。并显示第二个图像的背景是黑色的。 请帮我解决这个问题,并将黑色图像变成白色图像。

1 个答案:

答案 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;
   }