我正在尝试使用以下方式将一张图片粘贴到另一张图片上: original = Img.open('original.gif') tile_img = Img.open('tile_image.jpg') area = 0, 0, 300, 300 original.paste(tile_img, area) new_cropped.show() 这个方法有效,但是粘贴的图片会变成灰色。之前的图片: 之后的图片: 有没有简单的方法可以保留原来的颜色?我尝试了阅读其他的问题和文档,但我找不到任何解释如何实现这一点。非常感谢。
我相信所有的GIF图片都是调色板图像 - 也就是说,它们不在每个位置包含RGB三元组,而是包含一个RGB三元组调色板的索引。这样可以节省空间和提高下载速度 - 代价是每个图像只允许256种唯一颜色。如果您想将GIF(或调色板PNG文件)视为RGB,则需要确保在打开时将其转换为RGB,否则您将使用调色板索引而不是RGB三元组。尝试将第一行更改为:original = Img.open('original.gif').convert('RGB')
original = Img.open('original.gif').convert('RGB')
,以防它是调色板。 - Mark Setchell