我知道有很多问题,但似乎没有提供实际使用的代码
我正在尝试转换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);
答案 0 :(得分:1)
您无法在jpg
文件中拥有透明度。使用imagepng($im, $trans_file);
,假设其余代码正常运行。
编辑:不是图片专家,但我认为您需要设置imagealphablending($image, true);
才能获得透明度。