python-imaging-library - PIL简单的图像粘贴 - 图像改变颜色
问题描述
我正在尝试将图像粘贴到另一个图像上,使用:
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')
推荐阅读
- python - 简单的 cronjob 从 Linux .bashrc “raise KeyError(key) from None”打印时间和变量
- cisco - 如何使用 Cisco Anyconnect 在 WSL 2 中获得网络和 X11 转发?
- python - Flask中的预填充表单不起作用
- c - 数组警告上的 Sizeof
- python - FFmpeg 不会将 .ts 文件转换为 .mp4
- fortran - 如何理解这个负索引数组变量声明?
- python-3.x - 矩形脉冲序列 - 输入周期和脉冲宽度作为数组
- android - 为什么这个 GLSL 着色器可以在某些硬件上运行,而在其他硬件上不行?
- aws-lambda - 如何在 node_modules 中使用“无服务器”打包符号链接?
- python - 用 pip 安装 scikit-learn:我的电脑上安装了多个 python 版本吗?