Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сделать gif с прозрачным фоном из других gifов 
:(
    Опции темы
szz
Дата 8.3.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: нет
Всего: 33



У мне ятакая задача: есть несколько гифов, каждый размером около 20х20, в некоторых из них есть прозрачные области. Нужно создать на лету большой гиф, на котором находятся эти гифы.

Я все сделал - создал большой с помощью imagecreatetruecolor(100, 100), ращместил на нем маленькие гифы с помощью imagecopy и сохранил (imagegif()). Все получилось, но гиф получился непрозрачный (черный фон), и разумеется области прозрачности из исходных гифов залились черным.

Когда я пытаюсь, например, использовать imagecolortransparent, задав ему прозрачный цвет как ff00ff (жертвую маджентой) и залив все то, что должно быть прозрачным этой маджентой - все равно непрозрачный результат.

Как такое решить задача вроде довольно тривиальная, php прозрачность поддерживает, но у меня не получается (((


--------------------
PM   Вверх
szz
Дата 8.3.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: нет
Всего: 33



Решено - надо просто перед выводом в файл перевести ресурс из RGB в набор цветов:
imagetruecolortopalette($im, true, 255);
если передать второй параметр как false, то почему-то не все пиксели становятся прозрачными - появляются какие-то полосы и т.д. ,так что лучше ditherить.


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0629 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.