Форум сайта python.su
Требуется преобразовать GIF файл фон прозрачный в строку и потом обратно в изображение.
Чтобы хранить изображение ввиде строки, его тогда зашиваю в exe без проблем.
Использовал модуль PIL для того же самого, но только JPG.
C GIF что то не получается…есть предложения?
Офлайн
Дело в том, что PIL не умеет писать прозрачные Gif, читать умеет, писать - нет =(
P.S. Пользуйтесь ImageMagick: http://www.imagemagick.org/script/index.php. Есть биндинги для Python, или вручную. Я, например, вручную делал анимированные гифы, за недельку справился, формат несложный =).
UPD: http://www.velocityreviews.com/forums/t354000-pil-and-transparent-gifs.html - тут в последнем посте, предложили решение, лично не испытывал, может и работает.
P.P.S. Вы разделом немножко ошиблись, какое же это ГУИ =)
Отредактировано (Ноя. 23, 2009 16:54:23)
Офлайн
Посмотрю что за чудо.
А какой раздел для этой темы?
ГУИ это вроде все что касается визуализации, а картинка на форме мотылятся должна)
Офлайн
можно же в base64 закодировать
Офлайн
pasaranaxЕсть код реального примера как gif перевести в строку и обратно?
можно же в base64 закодировать
Офлайн
from base64 import b64decode, b64encode
gifFile = open("main.py", "r+b")
gifString = b64encode(gifFile.read())
Отредактировано (Ноя. 23, 2009 22:43:29)
Офлайн
Ок.
Как закодировать в строку файл понятно. А как теперь из строки получить GIF картинку.
Общая задача такая:
1.Закодировать GIF(прозрачный фон) в строку. Сохранить ее в *.ру файл(чтобы можно было запихнуть в exe)
2.При запуске программы, брать эту строку и получать из нее GIF файл обратно.
3.Вставить полученный GIF файл на форму wx.Python как логотип например.
Офлайн
Гыыы… Так бы и писали, что вам в wx нужно запихнуть.
У него есть специально для этого утилиты типа img2py
Офлайн
есть пример использования img2py?
Офлайн
Вот тут китайцы че-то пишут: http://topic.csdn.net/u/20090427/10/480b065b-93dc-419d-885f-dc0235ff0720.html
Офлайн