在图像查看器上查看图像时,即使将透明度设置为零,它也倾向于将图像显示为黑色。确保图像真正透明的一种方法是将其合并到另一图像上。应当在不妨碍其他图像的情况下看到``图释''。
background = Image.open('someimage.jpg') #an existing image
foreground = Image.open('foo.jpg') #one of the above images
background.paste(foreground, (0,0), foreground)
background.save('trial.jpg') #the composite image
从理论上讲,如果在图像查看器中打开“ trial.jpg”,并且原始图像的内容被保留,并且在其顶部放置的是foo图像,那么您将确定它是否只是图像查看器,并且您的图像是否正常...
0
我试图用Python图像库将gif转换为单个图像,但结果导致帧怪异
输入gif为:
源图像http://longcat.de/gif_example.gif
在我的第一次尝试中,我尝试将Image.new的图像转换为255,255,255作为白色背景的RGB图像-就像在互联网上找到的任何其他示例一样:
但它导致输出文件奇怪:
Example#1 http://longcat.de/gif_example1.jpg
我的第二次尝试是,首先将gif转换为RGBA,然后使用其透明蒙版将透明块变成白色:
结果是这样的:
Example#2 http://longcat.de/gif_example2.jpg
与第一次尝试相比的优势在于,第一帧看起来不错,但是正如您所看到的,其余帧都坏了
接下来我应该尝试什么?
编辑:
我想我离解决方案更近了
Example#3 http://longcat.de/gif_example3.png
我必须将第一个图像的调色板用于其他图像,并将其与前一帧合并(对于使用diff-images的gif动画)
但是我实际上不知道为什么我的透明度是黑色而不是白色,即使我修改了调色板(将透明度通道更改为白色)或使用了透明蒙版,背景仍然是黑色