您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩🥰😍
目录
效果图
原图片及其参数
经过压缩后
1.压缩方式1(保持原图片分辨率大小)
2.压缩方式2(重设原图片分辨率大小)
这种方式压缩后图片体积更小
代码实现
from PIL import Image
# 压缩图片大小
def yasuo(input_data,output_path,reset_width=True,new_width=1200):
"""
带 * 为必传参数
* input_data:图片二进制数据
* output_path:图片输出路径
reset_width:压缩时重设宽度,默认为True
new_width:设定压缩后的宽度,默认为1200,reset_width为True时生效
"""
img = Image.open(input_data) # 读取二进制数据
img = img.convert("RGB") # 模式转换,防止报错:cannot write mode RGBA as JPEG
width, height = img.size # 原始图片的宽、高
if reset_width and width>new_width: # 重设宽度,并保持图片原宽高比例
new_height = int(new_width*height/width)
img = img.resize((new_width,new_height),Image.LANCZOS)
img.save(output_path,quality=80) # 压缩保存,quality为保存的质量
# 对应压缩方式1
yasuo(open('1.png','rb'),'2.jpg',reset_width=False)
# 对应压缩方式2
yasuo(open('1.png','rb'),'3.jpg')
结论
如若你想要让你压缩后的图片的宽度、高度保持不变,请选择压缩方式1;
如果你想要取得压缩图片的最佳效果,请选择压缩方式2。
总结
感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹
👍🏻也欢迎你,关注我。👍🏻
如有疑问,可在评论区留言哦~