Изображения представляют собой файлы GIF и имеют прозрачные части. Вы можете увидеть примеры изображений по URL-адресам в моем коде ниже. У меня есть белый фон и наложение, созданное из нескольких наложений с их сайта в виде одного прозрачного изображения на моем компьютере.
Вот мой текущий код:
Код: Выделить всё
from PIL import Image
import urllib.request
urllib.request.urlretrieve('http://radar.weather.gov/ridge/Warnings/Short/EWX_Warnings_0.gif', 'warnings_now.gif')
urllib.request.urlretrieve('http://radar.weather.gov/ridge/RadarImg/N0R/EWX_N0R_0.gif', 'radar_now.gif')
radar = Image.open('radar_now.gif')
warnings = Image.open('warnings_now.gif')
background = Image.open('Background.gif')
overlay = Image.open('Overlay.gif')
background.paste(radar, (0,0), radar)
background.paste(overlay, (0,0), overlay)
background.paste(warnings, (0,0), warnings)
background.save('radar_final.gif', 'GIF')
Код: Выделить всё
Traceback (most recent call last):
File "radar2.py", line 9, in
background.paste(radar, (0,0), radar)
File "/usr/lib64/python3.3/site-packages/PIL/Image.py", line 1314, in paste
self.im.paste(im, box, mask.im)
ValueError: bad transparency mask
Это все изображения в режиме P, и все они имеют один альфа-слой. Я также попытался отделить альфа-слой, чтобы использовать его в качестве маски, но это также привело к ошибке ValueError: неверная маска прозрачности.
Кажется, я не могу найти много информации о прозрачных изображениях GIF и подушке. Постоянно всплывает одна вещь, связанная с преобразованием в PNG, но решения для нее не кажутся актуальными.
Спасибо за любую помощь!
Примечание: это на 64-битной системе Gentoo Linux под управлением Python 3.3 и самой последней версии Pillow в репозиториях Gentoo.
Подробнее здесь: https://stackoverflow.com/questions/304 ... low-errors
Мобильная версия