Python枕头/ PIL颜色偏移问题。在GIF中

时间:2020-09-12 17:53:12

标签: python image image-processing python-imaging-library

CODE: ListenerAdapter javadoc

UPDATE points_history 
SET
    7d_before = 6d_before,
    6d_before = 5d_before,
    5d_before = 4d_before,
    4d_before = 3d_before,
    3d_before = 2d_before,
    2d_before = 1d_before,
    1d_before = (
        SELECT 
            today_points
        FROM
            points
        WHERE
            user_id = '123'
        )
WHERE
    user_id = '123';

添加其他PNG后,我的gif出现了颜色偏移

gif输出

https://gist.github.com/jksfsfjk23h4/d95df9778ce6769873d584349d4f24a3

QR码(无背景)

Gif output

1 个答案:

答案 0 :(得分:0)

GIF格式使用8位调色板(Wikipedia)表示颜色。 GIF帧中最多只能有256种不同的颜色。一个调色板条目通常用于动画的“透明”,减少到255种不同的颜色。当您添加PNG图像时,PIL会将其转换为使用调色板中最接近的可用颜色,但显然调色板中没有那么接近的颜色。

要固定颜色,请尝试以下操作:

  1. 将基本图像转换为RGB(.convert('RGB'))。
  2. 添加PNG。
  3. 转换回调色板模式(.convert('P'))。

这样,PIL将生成一个新的调色板,以更好地近似组合图像中的所有颜色。