| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Графика > Сделать gif с прозрачным фоном из других gifов |
| Автор: szz 8.3.2008, 15:45 |
| У мне ятакая задача: есть несколько гифов, каждый размером около 20х20, в некоторых из них есть прозрачные области. Нужно создать на лету большой гиф, на котором находятся эти гифы. Я все сделал - создал большой с помощью imagecreatetruecolor(100, 100), ращместил на нем маленькие гифы с помощью imagecopy и сохранил (imagegif()). Все получилось, но гиф получился непрозрачный (черный фон), и разумеется области прозрачности из исходных гифов залились черным. Когда я пытаюсь, например, использовать imagecolortransparent, задав ему прозрачный цвет как ff00ff (жертвую маджентой) и залив все то, что должно быть прозрачным этой маджентой - все равно непрозрачный результат. Как такое решить задача вроде довольно тривиальная, php прозрачность поддерживает, но у меня не получается ((( |
| Автор: szz 8.3.2008, 17:18 |
| Решено - надо просто перед выводом в файл перевести ресурс из RGB в набор цветов: imagetruecolortopalette($im, true, 255); если передать второй параметр как false, то почему-то не все пиксели становятся прозрачными - появляются какие-то полосы и т.д. ,так что лучше ditherить. |