Python PIL - 调整图像大小
Python PIL - Resize Images
我正在尝试使用 PIL 更改图像的大小,将较大的图像变成较小的图像,反之亦然。我做了各种测试,但我得不到我想要的结果。以下是我对 900x1600 图像所做的测试:
每次输入相同:Image
size = (1080, 1080)
userImage = Image.open("./Images/UsersImages/001.png")
userImage.resize(size)
userImage.show()
size = (1080, 1080)
userImage = Image.open("./Images/UsersImages/001.png")
userImage.thumbnail(size, Image.ANTIALIAS)
userImage.show()
userImage = Image.open("./Images/UsersImages/001.png")
userImageWidth, userImageHeight = userImage.size
leftBorder = 4
topBorder = userImageHeight / 5
rightBorder = 154
bottomBorder = 3 * userImageHeight / 5
userImage = userImage.crop((leftBorder, topBorder, rightBorder, bottomBorder))
newsize = (1080, 1080)
userImage = userImage.resize(newsize)
userImage.show()
userImage = Image.open("./Images/UsersImages/001.png")
userImageWidth, userImageHeight = userImage.size
if userImageWidth > 1080:
bottomBorder = (userImageWidth - 1080) / 2
topBorder = bottomBorder
else:
bottomBorder, topBorder = 0, 0
if userImageHeight > 1080:
leftBorder = (userImageHeight - 1080) / 2
rightBorder = leftBorder
else:
leftBorder, rightBorder = 0, 0
userImage = userImage.crop((leftBorder, topBorder, rightBorder, bottomBorder))
userImage.show()
在大多数情况下,照片与以前完全一样。在有裁切的情况下,它被切得很小。
如何将任何图片调整为 1080x1080?我不在乎照片是否被拉伸。重要的是任何类型的图像,无论大小,都将调整为 1080x1080。
使用userImage = userImage.resize(size)
,因为resize()
returns一个复制的图片,调整大小;它不会主动调整图像大小。
size = (1080, 1080)
userImage = Image.open(f"./Images/UsersImages/001.png")
userImage = userImage.resize(size) ### EDITED LINE
userImage.show()
我正在尝试使用 PIL 更改图像的大小,将较大的图像变成较小的图像,反之亦然。我做了各种测试,但我得不到我想要的结果。以下是我对 900x1600 图像所做的测试:
每次输入相同:Image
size = (1080, 1080)
userImage = Image.open("./Images/UsersImages/001.png")
userImage.resize(size)
userImage.show()
size = (1080, 1080)
userImage = Image.open("./Images/UsersImages/001.png")
userImage.thumbnail(size, Image.ANTIALIAS)
userImage.show()
userImage = Image.open("./Images/UsersImages/001.png")
userImageWidth, userImageHeight = userImage.size
leftBorder = 4
topBorder = userImageHeight / 5
rightBorder = 154
bottomBorder = 3 * userImageHeight / 5
userImage = userImage.crop((leftBorder, topBorder, rightBorder, bottomBorder))
newsize = (1080, 1080)
userImage = userImage.resize(newsize)
userImage.show()
userImage = Image.open("./Images/UsersImages/001.png")
userImageWidth, userImageHeight = userImage.size
if userImageWidth > 1080:
bottomBorder = (userImageWidth - 1080) / 2
topBorder = bottomBorder
else:
bottomBorder, topBorder = 0, 0
if userImageHeight > 1080:
leftBorder = (userImageHeight - 1080) / 2
rightBorder = leftBorder
else:
leftBorder, rightBorder = 0, 0
userImage = userImage.crop((leftBorder, topBorder, rightBorder, bottomBorder))
userImage.show()
在大多数情况下,照片与以前完全一样。在有裁切的情况下,它被切得很小。
如何将任何图片调整为 1080x1080?我不在乎照片是否被拉伸。重要的是任何类型的图像,无论大小,都将调整为 1080x1080。
使用userImage = userImage.resize(size)
,因为resize()
returns一个复制的图片,调整大小;它不会主动调整图像大小。
size = (1080, 1080)
userImage = Image.open(f"./Images/UsersImages/001.png")
userImage = userImage.resize(size) ### EDITED LINE
userImage.show()