2013-08-29 3 views
0

Я знаю, что есть куча вопросов для этого, но никто не похоже, чтобы обеспечить фактический код для использованияПреобразовать фон на RGB JPG быть прозрачным

Я пытаюсь преобразовать 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);, считая, что остальная часть вашего кода работает правильно.

EDIT: Не эксперт с изображениями, но я считаю, что вам необходимо установить imagealphablending($image, true);, чтобы иметь прозрачность.

+0

Я не знал, что поэтому я изменил свой код и все тот же вопрос, хотя – Yeak

Смежные вопросы