枕头裁剪图像保持最大宽度和最大高度的比例
Pillow crop images keeping the ratio having a max width and max height
我需要使用 Pillow 裁剪一些东西,保持比例,max_height 或 max_width。
有些图片可以有更大的宽度或更大的高度。
我试过:
image_clone = image.copy()
width_percent = (size['width'] / float(image_clone.size[0]))
height = int((float(image_clone.size[1]) * float(width_percent)))
image_clone.thumbnail((size['width'], height), Image.LANCZOS)
不适用于宽度较大的图像,因为高度会很小,图像不太明显。
我不清楚。我之前看过这段代码来缩小图像以使其适合一个盒子。条件是选择较大的,因为它适用于纵向和横向以及正方形尺寸:
image_clone = image.copy()
width_percent = (size['width'] / float(image_clone.size[0]))
height_percent = (size['height'] / float(image_clone.size[1]))
if width_percent > height_percent:
height = int((float(image_clone.size[1]) * float(width_percent)))
image_clone.thumbnail((size['width'], height), Image.LANCZOS)
else:
width = int((float(image_clone.size[0]) * float(height_percent)))
image_clone.thumbnail((width, size['height']), Image.LANCZOS)
未测试。
我需要使用 Pillow 裁剪一些东西,保持比例,max_height 或 max_width。
有些图片可以有更大的宽度或更大的高度。
我试过:
image_clone = image.copy()
width_percent = (size['width'] / float(image_clone.size[0]))
height = int((float(image_clone.size[1]) * float(width_percent)))
image_clone.thumbnail((size['width'], height), Image.LANCZOS)
不适用于宽度较大的图像,因为高度会很小,图像不太明显。
我不清楚。我之前看过这段代码来缩小图像以使其适合一个盒子。条件是选择较大的,因为它适用于纵向和横向以及正方形尺寸:
image_clone = image.copy()
width_percent = (size['width'] / float(image_clone.size[0]))
height_percent = (size['height'] / float(image_clone.size[1]))
if width_percent > height_percent:
height = int((float(image_clone.size[1]) * float(width_percent)))
image_clone.thumbnail((size['width'], height), Image.LANCZOS)
else:
width = int((float(image_clone.size[0]) * float(height_percent)))
image_clone.thumbnail((width, size['height']), Image.LANCZOS)
未测试。