2013-08-29 71 views
0

我知道有一堆這個問題,但沒有人可以提供實際的代碼使用轉換的背景是透明的

我嘗試轉換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

[* imagecolorallocatealpha()*](http://php.net/manual/en/function.imagecolorallocatealpha.php)採用5個參數 –

回答

1

你不能有一個jpg文件的透明度。使用imagepng($im, $trans_file);,假設代碼的其餘部分正常工作。

編輯:不是圖像專家,但我相信你需要設置imagealphablending($image, true);爲了有透明度。

+0

我不知道,所以我改變了我的代碼,仍然同樣的問題,雖然 – Yeak