0

画像を簡単に保存するために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);
  }

}

4

1 に答える 1

1

きっと変わるはずです

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

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

画像のアルファブレンディングを設定してみる

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