使用Python从可变图像大小/纵横比创建裁剪的缩略图

使用Python从可变图像大小/纵横比创建裁剪的缩略图,python,image,thumbnails,crop,image-size,Python,Image,Thumbnails,Crop,Image Size,截图后,我想从他们的网站生成缩略图 我创建了一些简单的代码进行测试,我得到了截图。问题是当我设置为200x150时,大小没有固定。我想通过裁剪图像的高度(而不是宽度!)来创建缩略图,并将其缩略为200x150(高度/重量固定) 例如: size = 200, 150 # create thumbnail from 1024x768 screenshot im = Image.open('/var/www/public/tester.png') im.thumbnail(size, Image.

截图后,我想从他们的网站生成缩略图

我创建了一些简单的代码进行测试,我得到了截图。问题是当我设置为200x150时,大小没有固定。我想通过裁剪图像的高度(而不是宽度!)来创建缩略图,并将其缩略为200x150(高度/重量固定)

例如:

size = 200, 150

# create thumbnail from 1024x768 screenshot
im = Image.open('/var/www/public/tester.png')
im.thumbnail(size, Image.ANTIALIAS)
im.save('/var/www/public/testtumnb.jpg', 'JPEG')
产出:


我想创建与第二幅图像类似的缩略图。

PIL resize方法调整图像大小并保留其原始纵横比,这样,如果输入图像的大小为1000x2000,当它调整到您的大小(200x150)时,您将得到200x400,而不是200x150(保存前可以使用im.size进行检查)。如果只需要缩略图图像的顶部,则必须在im.thumboil之后使用im.crop(请参见)

PIL resize方法调整图像大小并保留其原始纵横比,这样,如果输入图像的大小为1000x2000,当它调整到您的大小(200x150)时,您将得到200x400,而不是200x150(保存前可以使用im.size进行检查). 如果只需要缩略图图像的顶部,则必须在im.thumbnail之后使用im.crop(请参阅)