gpt4 book ai didi

python - 使用 PIL 在 python 中旋转并将扩展参数设置为 true 时指定图像填充颜色

转载 作者:IT老高 更新时间:2023-10-28 21:18:45 24 4
gpt4 key购买 nike

我正在尝试使用 PIL 在 Python 中旋转图像,并将 expand 参数设置为 true。似乎当我的图像背景为黑色时,保存为 bmp 的结果图像将比我的图像有白色背景时小很多,然后我用白色替换由于扩展而导致的黑色。在任何一种情况下,我的原始图像总是有两种颜色,现在我需要文件大小很小,因为我将这些图像放在嵌入式设备上。

如果我可以在展开时强制旋转以填充另一种颜色,或者是否有其他方法可以旋转我的图片以使其变小,有什么想法吗?

最佳答案

如果您的原始图像没有 Alpha 层,您可以使用 Alpha 层作为蒙版将背景转换为白色。当 rotate 创建“背景”时,它会使其完全透明。

# original image
img = Image.open('test.png')
# converted to have an alpha layer
im2 = img.convert('RGBA')
# rotated image
rot = im2.rotate(22.2, expand=1)
# a white image same size as rotated image
fff = Image.new('RGBA', rot.size, (255,)*4)
# create a composite image using the alpha layer of rot as a mask
out = Image.composite(rot, fff, rot)
# save your work (converting back to mode='1' or whatever..)
out.convert(img.mode).save('test2.bmp')

关于python - 使用 PIL 在 python 中旋转并将扩展参数设置为 true 时指定图像填充颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5252170/

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