我正在使用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);
}
}
答案 0 :(得分:1)
你应该改变
$black = imagecolorallocate($im, 0, 0, 0);
到
$black = imagecolorallocate($image, 0, 0, 0);
尝试设置图像Alpha混合
imagealphablending($image, false);
imagesavealpha($image, true);