[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема в накладывании png на jpg
vuler
в общем добавляется изображение
$im = imagecreatefrompng($directory.$filename) ;

создается второе изображение куда будет скопировано исходное с изменением размеров.
$dest2=imagecreatetruecolor($w,$h);

И после ряда преобразований.
исходный png накладывается поверх второго изображение и все это выходит в jpg
imagecopyresampled($dest2, $im, 0, 0, 0, 0, $w_src, $h_src, $w_src, $h_src);
imagejpeg($dest2, $patch);

Проблема в том, что если в png файле есть прозрачность, в новом изображении она заменяется на черный цвет.
Можно ли сделать заливку белым.
Заранее спасибо.



Спустя 8 минут, 42 секунды (9.03.2012 - 13:20) Visman написал(а):
Попробуй после
$dest2=imagecreatetruecolor($w,$h);

залить $dest2 белым цветом.


UP Между прочем, jpeg можно прозрачный сохранять ;)

Спустя 35 минут, 27 секунд (9.03.2012 - 13:55) sergeiss написал(а):
Цитата (Visman @ 9.03.2012 - 14:20)
Между прочем, jpeg можно прозрачный сохранять wink.gif

А вот тут поподробнее, плз... Ни разу этого не слышал. Везде пишут, что только ГИФ и ПНГ можно с прозрачностью сделать. И при сохранении ЖПЕГа нету параметра прозрачности.

Спустя 8 минут, 9 секунд (9.03.2012 - 14:03) Visman написал(а):
sergeiss, упс, извиняюсь, код у себя смотрел и форматы попутал с gif ph34r.gif


Спустя 34 минуты, 36 секунд (9.03.2012 - 14:38) vuler написал(а):
Да уже заливал белым цветом.
и imagefill и квадрат поверх рисовал.
Вот когда на это белое изображение накладывается сверху прозрачное, вся прозрачная область становится ченой.

Спустя 8 минут, 1 секунда (9.03.2012 - 14:46) Visman написал(а):
Я у себя делаю так
	$image = @imagecreatefrompng($file);
$idest = imagecreatetruecolor($width, $height);
imagefill($idest, 0, 0, 0x7FFFFFFF);
imagecolortransparent($idest, 0x7FFFFFFF);
imagecopyresampled($idest, $image, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
imagesavealpha($idest, true);
@imagejpeg($idest, $name.'.'.$type, $quality);

Это конечно не весь код, а кусок. Тут и прозрачность могла затесаться, так как обработка идет универсальная, для разных форматов.

Спустя 3 часа, 13 минут, 47 секунд (9.03.2012 - 18:00) vuler написал(а):
Спасибо. Жаль что таким образом появляется черный контур вокруг рисунка, можно от него избавиться как-нибудь?

Спустя 11 минут, 19 секунд (9.03.2012 - 18:11) Visman написал(а):
Цитата (vuler @ 9.03.2012 - 23:00)
Жаль что таким образом появляется черный контур вокруг рисунка, можно от него избавиться как-нибудь?

По этому вопросу я не в курсе.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.