我知道有很多问题,但似乎没有提供使用的实际代码
我正在尝试转换RGB jpg来转换的所有内容
要么不是黑色,要么是白色以成为透明
我尝试使用的代码是:
$im = imagecreatefromjpeg($file);
$remove=imagecolorallocatealpha($img, 255,255,255);
imagefill($im,0,0,$remove);
imagesavealpha($im, TRUE);
imagejpeg($im, $trans_file);
但是这似乎将白色背景输出为黑色。有人能帮忙吗。
把我的代码改为使用png,同样的事情发生了,文件看起来是一样的,无论是白色的都转换成黑色,而不是透明的
$im = imagecreatefromjpeg($file);
$remove=imagecolorallocatealpha($img, 255,255,255);
imagefill($im,0,0,$remove);
imagealphablending($im, TRUE);
imagesavealpha($im, TRUE);
imagepng($im, $trans_file);
在jpg
文件中不能具有透明度。使用imagepng($im, $trans_file);
,假设代码的其余部分正常工作。
编辑:不是图像专家,但我认为您需要设置imagealphablending($image, true);
才能具有透明度。