Python为图像添加额外区域

问题描述 投票:3回答:3

所以我有一张图片大小的表格。有多个不同尺寸的图像(66x66,400x400等)。我有一个图像(原始)的例子总是有600x532的大小,在这个图像上是一个产品(电视,电脑等)。

我必须调整此图像的大小,这不是问题。但如果我按比例这样做,我会得到像66x55这样的东西。如果我不按比例这样做,图像看起来不太好。

所以原作的背景总是白色的。有没有办法扩展图像的区域,并用白色填充其余部分?所以像这样:600x532 - > 600x600 - > 66x66等等

它应该像反作物。

编辑:我发现如果我使用PIL中的crop()而不是使用高于实际图像大小的值“最小化”它会创建我的额外区域。但它会是黑色的。知道如何填补这个区域的白色吗?

EDIT2:我想这与ImageDraw有关。

编辑3:在发现ImageDraw是解决方案后,我的问题得到了解决。请关闭这个。

我的解决方案:

import Image, ImageDraw
img1 = Image.open("img.jpg")
img2 = img1.crop((0,0,600,600))
draw = ImageDraw.Draw(img2)
draw.rectangle( (0,532,600,600), fill='white' )
del draw
img2.save("img2.jpg","JPEG", quality=75)

我要做的下一件事就是将额外的作物放在上面和下面。所以图片保持在中间。

编辑:最后的孤子

img1 = Image.open("img1.jpg")
img2 = img1.crop( (0,-34,600,566) )  
draw = ImageDraw.Draw(img2)
draw.rectangle( (0,0,600,34), fill="white" )
draw.rectangle( (0,566,600,600), fill="white" )
del draw
img2.save("img2.jpg", "JPEG", quality=75)
python image extend area
3个回答
© www.soinside.com 2019 - 2024. All rights reserved.