繁体   English   中英

Python Pillow .ico 转换为 .gif

[英]Python Pillow .ico convert to .gif

我使用了 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 转换文件!

im.show()加载 图像为黑色背景

这是因为Image.show() ) 在显示之前将图像转换为.bmp (位图)。 PIL中的Bitmap不支持 Alpha(可变透明度/不透明度)。 因此,当您尝试使用Image.show()显示图像时, .ico图像中的 alpha 数据会丢失。

解决方案:-不要使用Image.show()查看包含 alpha 值的图像,而是保存图像然后查看它(通过一些图像处理包,如photoshop等,或使用操作系统的内置图像查看器,如 Windows 10 中的照片)。

我想知道如何获得透明的.gif转换文件!

.gif (图形交换格式)不支持 Alpha 通道。 因此,您无法在保留透明区域的同时将.ico文件转换为.gif 因此,不建议将具有 Alpha 通道的图像保存为.gif ,因为它最终会产生伪影并降低原始图像的质量。

解决方案:-我建议您选择像.png.jp2这样支持 alpha 通道的格式。 它们也支持多种颜色(与GIF 不同,后者仅支持 256 种离散颜色( 8 位调色板))。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM