有没有办法更改 Python 图像库 (PIL) 的默认填充颜色?
Is there a way to change the Python Imaging Library (PIL)'s default fill color?
我目前正在使用 Python Imaging Library (PIL) 转换和 EXTENT 功能,以允许用户对图像进行一些基本编辑,即简单放大/缩小、x 轴和 y 轴偏移、设置背景颜色、旋转等
因此,一个问题是它们能够充分缩小或偏移,从而使最终输出图像的部分超出源图像的范围。发生这种情况时,PIL 会用黑色填充此部分
有谁知道是否有办法设置自定义填充颜色而不是默认的黑色,或者对解决此问题的方法有任何建议?非常感谢
我原本想在超出边界的地方预先粘贴一个 alpha 层,但这似乎很快就变得复杂了。
[编辑] 也许 this 会有所帮助。所以,做一些类似的事情(不要太注意精确的整数)...
image2 = image1.transform((600, 400), Image.EXTENT, (0, 0, 1200, 800))
draw = ImageDraw.Draw(image2)
# Fill in rectangle below the real image
draw.rectangle( (0, 50, 1200, 600), fill=(255, 150, 0))
# Fill in rectangle to the right of the real image
draw.rectangle( (100, 0, 800, 50), fill=(150, 255, 0))
del draw
image2.save(SAVE_NAME)
我目前正在使用 Python Imaging Library (PIL) 转换和 EXTENT 功能,以允许用户对图像进行一些基本编辑,即简单放大/缩小、x 轴和 y 轴偏移、设置背景颜色、旋转等
因此,一个问题是它们能够充分缩小或偏移,从而使最终输出图像的部分超出源图像的范围。发生这种情况时,PIL 会用黑色填充此部分
有谁知道是否有办法设置自定义填充颜色而不是默认的黑色,或者对解决此问题的方法有任何建议?非常感谢
我原本想在超出边界的地方预先粘贴一个 alpha 层,但这似乎很快就变得复杂了。
[编辑] 也许 this 会有所帮助。所以,做一些类似的事情(不要太注意精确的整数)...
image2 = image1.transform((600, 400), Image.EXTENT, (0, 0, 1200, 800))
draw = ImageDraw.Draw(image2)
# Fill in rectangle below the real image
draw.rectangle( (0, 50, 1200, 600), fill=(255, 150, 0))
# Fill in rectangle to the right of the real image
draw.rectangle( (100, 0, 800, 50), fill=(150, 255, 0))
del draw
image2.save(SAVE_NAME)