gpt4 book ai didi

python - 使用 PIL 优化 .png 图像

转载 作者:太空狗 更新时间:2023-10-30 00:19:54 24 4
gpt4 key购买 nike

我只需要创建一个具有透明背景的 .png 图像,在其上绘制一些黑色文本并使用 img.save('target.png', option='optimize')

看起来 PIL 会自动以 32 位模式保存 .png 图像。我可以在不使输出图像在保存前看起来更糟的情况下降低颜色深度吗?由于它只包含黑色文本和透明背景,我认为降低颜色深度会大大减小文件大小。

最佳答案

RGBA 模式是唯一支持透明的模式,而且必须是 32 位:

1 (1-bit pixels, black and white, stored with one pixel per byte)

L (8-bit pixels, black and white)

P (8-bit pixels, mapped to any other mode using a color palette)

RGB (3x8-bit pixels, true color)

RGBA (4x8-bit pixels, true color with transparency mask)

我建议您使用非透明 1 模式存储图像,并将图像本身用作 mask 。如果您将模式为 1 的图像作为图像的 mask ,黑色像素将保留而白色像素将透明。 这将减少 32 倍的空间而不会丢失任何信息。

You can use either “1”, “L” or “RGBA” images (in the latter case, the alpha band is used as mask). Where the mask is 255, the given image is copied as is. Where the mask is 0, the current value is preserved. Intermediate values will mix the two images together, including their alpha channels if they have them.

它看起来像这样:

your_transparent_image.paste(bw_image, mask=bw_image)

bw_image 是您的黑白文本。

关于python - 使用 PIL 优化 .png 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1991929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com