0

我正在使用一个库来轻松保存图像。

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);
  }

}

4

1 回答 1

1

你可能应该改变

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

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

尝试设置图像 alpha 混合

imagealphablending($image, false);
imagesavealpha($image, true);
于 2013-04-29T12:18:02.350 回答