如何在 Python PIL 中将图像调整到特定大小而不失真?
How to resize images to certain size in Python PIL without distortion?
我正在尝试在 Python 中使用 PIL 将图像裁剪到 1000、1000。
但是,它总是拉伸图像以匹配尺寸而不是裁剪。当前代码如下。
最好是将原始图片左右均匀裁剪,同时将高度扩展或减小到1000。
from PIL import Image
img = Image.open('image.jpg')
new_img = img.resize((1000,1000))
new_img.save("image.jpg", "JPEG", optimize=True)
new_img.show()
您可以使用 image.crop
方法裁剪边,然后使用 image.resize
将高度扩展或减小到 1000:
(width, height) = img.size
left = int((width - 1000)/2)
right = left + 1000
new_img = img.crop((left, 0, right, height))
new_img = new_img.resize((1000,1000))
在python中你可以在你想要导入PILL模块的地方使用带有PILL库的resize image
from PIL import Image
im = Image.open("images/cat.jpg")
im.show()
resized_im = im.resize((round(im.size[0]*0.5), round(im.size[1]*0.5)))
resized_im.show()
resized_im.save('resizedBeach1.jpg')
我正在尝试在 Python 中使用 PIL 将图像裁剪到 1000、1000。
但是,它总是拉伸图像以匹配尺寸而不是裁剪。当前代码如下。
最好是将原始图片左右均匀裁剪,同时将高度扩展或减小到1000。
from PIL import Image
img = Image.open('image.jpg')
new_img = img.resize((1000,1000))
new_img.save("image.jpg", "JPEG", optimize=True)
new_img.show()
您可以使用 image.crop
方法裁剪边,然后使用 image.resize
将高度扩展或减小到 1000:
(width, height) = img.size
left = int((width - 1000)/2)
right = left + 1000
new_img = img.crop((left, 0, right, height))
new_img = new_img.resize((1000,1000))
在python中你可以在你想要导入PILL模块的地方使用带有PILL库的resize image
from PIL import Image
im = Image.open("images/cat.jpg")
im.show()
resized_im = im.resize((round(im.size[0]*0.5), round(im.size[1]*0.5)))
resized_im.show()
resized_im.save('resizedBeach1.jpg')