PNG有黑色背景

时间:2013-04-29 12:11:33

标签: php image-processing png

我正在使用lib来轻松保存图像。

http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/

但问题是它可以节省具有黑色背景的透明png。我已经搜索并发现了一些应该可以工作但不适合我的东西。

imagecolortransparent()通常应该这样做。 但对我来说,我仍然看到黑色背景。

我做错了什么?

$imagename = $_FILES['file']['name'];           
$target = "source/images/".$imagename;
$image->save($target);


function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null){

  if( $image_type == IMAGETYPE_PNG ){

      $image = $this->image;

      $black = imagecolorallocate($image, 0, 0, 0);
      imagecolortransparent($image, $black);

      imagepng($image,$filename);
  }

}

1 个答案:

答案 0 :(得分:1)

你应该改变

$black = imagecolorallocate($im, 0, 0, 0);

$black = imagecolorallocate($image, 0, 0, 0);

尝试设置图像Alpha混合

imagealphablending($image, false);
imagesavealpha($image, true);