прозрачный фон картинки

tank

Новичок
прозрачный фон картинки

Условие: есть 2 картинки
1.png
2.jpg
Задача: склеить их (на 2.jpg наложить 1.png) но перед этим сделать фон 1.png прозрачным.
Делаю так
$img=imageCreateFromPNG('images/pechat.png');
imagecolortransparent($img,ffffff);
$imr=imageCreateFromJpeg('images/test.jpg');
imagecopymerge($imr,$img,10,10,0,0,182,107,100);
imagejpeg($imr);

склеивает, но фон первой картинки непрозрачный.
Как сделать его прозрачным?

-~{}~ 09.06.04 08:43:

Че то тишина..... Неужели никто не сталкивался с такой бедой?! Не может быть!!!
Помогите же кто нибудь!
 

tank

Новичок
так ведь эта ф-я требует GD 2.0.1, а у хостера GD 2. Пойдет?
 

tank

Новичок
Пока на работе, не могу проверить, вечером проверю - завтра пост будет..
сорри за задержку..
 

ayrat9

Новичок
Интересный вопрос..
У меня была схожая проблема: на морду своего сайта я прилеплял PNG-изображение с прозрачным фоном, предварительно разрезав его на 2 части - одну часть в одну ячейку таблицы, другую часть изображения в другую. Обе ячейки таблицы были окрашены, но в разные цвета. Так вот в Опере7 изображение имело прозрачный фон, а в ИЕ6 по всей площади изображения вылезал уродливый серый фон. Пришлось заново рисовать, делать заливку в изображения и сохранять их в JPEGе.
Может и правда нужна РНР-обработка PNG-файлов, чтобы добиться прозрачного фона?
 

tank

Новичок
Немного преобразовал....
$img=imageCreateFromgif('images/pechat.gif');
$color = imagecolorallocate($img, 255, 255, 255);
imagecolortransparent($img,$color);
$imr=imageCreateFromJpeg('images/test.jpg');
imagecopymerge($imr,$img,10,10,0,0,182,107,100);
header("Content-type: image/jpeg");
imagejpeg($imr);
Все равно выдает картинку, с наложенной сверху на нее другой картинкой..
Как сделать, чтобы эта картинка сверху имела прозрачный фон.

ЗЫ если делать gif заранее прозрачный, то он изменяется до неузнаваемости..
 

desperado

Новичок
header("Content-type: image/jpeg");
imagejpeg($imr);

а когда у нас у жпега была прозрачность? или кто-то придумал новый формат?
 

tank

Новичок
Картинка, которая должна наложиться сверху - это gif.
$img=imageCreateFromgif('images/pechat.gif');
Вот у этой картинки и надо сделать фон прозрачным..
А jpeg - это результирующая картинка.
 

neko

tеam neko
imagecolortransparent($img,ffffff);
небось варнинг выдает?

ffffff это не число
0хffffff это число
 

tank

Новичок
Если в imagecolortransparent вставить ffffff ошибки не выдает, но и ниче не делает, как впрочем и 0хffffff
Мда.. стукните в аську чтоль..

-~{}~ 11.06.04 09:29:

icq 325882038
 

neko

tеam neko
че вы прикопались все к моей асе...

у тебя фон png'шки белый?
не серый какой-нибудь там а RGB( 255, 255, 255)
?

-~{}~ 11.06.04 07:44:

все вышесказанное применительно к твоему первому коду
а не к тому что ты доработал
 

tank

Новичок
Чет не мой седня день...
Теперь ругается, говорит дескать синтаксическая ошибка
imagecolortransparent($img,0хffffff);
Если строкой задать, то молчит, но и ниче не делает..
 

neko

tеam neko
ну
и
где
СООБЩЕНИЕ ОБ ОШИБКЕ????

btw у меня твой код с этой правкой работает
 

tank

Новичок
imagecolortransparent($img,0хffffff);

Parse error: parse error, unexpected T_STRING in c:\internet......data\see_test.php on line 14
 

neko

tеam neko
ты в танке или как
это не русская буква ХЭ
это английская ИКС
 
Сверху