1
我试图将两个颜色编码的gif图像合并成一个图像,再加上其他几种情况,我需要从头开始生成一个gif图像。我可以从一个gif图像复制到一个新的'P'图像,但颜色不会复制。我最终得到黑白和灰度图像,而不是我开始使用的图像的精确副本。我只是从头开始尝试,以确保在继续前进之前我已经完成了流程。到目前为止,我没有这个过程。将颜色从一个gif图像复制到一个新的gif图像
from PIL import Image
filename = '/media/image1.gif'
im = Image.open(filename);
size = width, height = im.size
coordinates = x,y = width, height
img = Image.new('P',coordinates)
pixels = img.load()
for x in range(img.size[0]):
for y in range(img.size[1]):
coordinates = x,y
pixels[x,y]=im.getpixel(coordinates)
img.show()
我做错了什么让颜色转移过来?
GIF图像是索引颜色。您是否在寻找复制调色板的方法? – 9000
我想我可能会丢失的是索引颜色概念。我认为颜色编号是0-255。就像我刚才所说的,我正在考虑剥离单个像素的颜色,并将所添加的颜色值与所显示的颜色相加,然后创建一个具有附加值的新图形。我不认为复制调色板会有什么不同吗? – confused
颜色编号只是数字,而不是RGB值。这些数字和实际的RGB颜色之间有一个映射,称为[调色板](https://en.wikipedia.org/wiki/Gif#Palettes)。他们说像'img.palette.getvalues()'应该给你调色板数据,你可能会复制它,看看文档。 – 9000