python PIL库实现图片等比例缩小,并由jpg格式转换为png格式图片
from PIL import Image
def resize_image(img_name_path,max_width=1500,max_height=800):
"""
等比例缩小图片,并把jpg转为png格式
:param img_name_path 图片路径
:param max_width 缩小后的最大宽度
:param max_height 缩小后的最大高度
:return:
"""
image = Image.open(img_name_path)
width = image.width
height = image.height
if max_width <= width or max_height <= height:
ratio = min(max_width/width,max_height/height)
new_width = int(width * ratio)
new_height = int(height * ratio)
resize_img = image.resize((new_width,new_height),Image.ANTIALIAS)
resize_img.save(img_name_path.replace('.jpg','.png'))
else:
image.save(img_name_path.replace('.jpg', '.png'))
if __name__ == '__main__':
img_name = 'input.jpg'
resize_image(img_name)