我使用了python枕头库,因为我需要将.ico转换为.gif
所以我将Pillow 6.1.0 ver与Python 3.7.0一起使用了 我执行以下操作:
from PIL import Image
im = Image.open("a.ico")
im.show()
im.save("a.gif")
.ico文件具有透明背景
但是im.show()加载的图像是黑色背景 所以最后我得到了黑色背景.gif文件
我想知道如何获取透明的.gif转换文件!
答案 0 :(得分:1)
im.show()
加载的图像是黑色背景
这是因为Image.show()
在显示图像之前将图像转换为.bmp
(位图)。并且PIL
中的位图不支持Alpha(可变透明度/不透明度)。因此,当您尝试使用.ico
显示图像时,Image.show()
图像中的Alpha数据会丢失。
解决方案:-不要使用Image.show()
查看包含alpha值的图像,而是先保存图像,然后再查看(通过某些图像处理包,例如 photoshop 等,或使用操作系统的内置图像查看器,例如Windows 10中的照片 )。
我想知道如何获得透明的
.gif
转换文件!
.gif
(图形交换格式)不支持Alpha通道。因此,您无法在保留透明区域的情况下将.ico
文件转换为.gif
。因此,不建议将具有Alpha通道的图像保存到.gif
,因为它最终会出现伪像,并且会降低原始图像的质量。
解决方案:-:我建议您选择一种格式,例如.png
或.jp2
,该格式支持alpha通道。它们还支持多种颜色(与 GIF 相反,后者仅支持256种离散颜色( 8位调色板))。