如何用Python调整图片尺寸

就像我们学习数学一样,多做题多练习,才会熟能生巧。

学习Python也是一样,练习才是学好Python的最优解。只有不停的敲代码,不断练习,才能不断进步。


实操练习

你是否遇到过上传照片有大小要求?

不管是上传证件照报名参赛,总会有一个不要超过2M,长不超过XX,宽不超过XX诸如此类的大小限制。

 

遇到这种情况,我们可以用Python来调整。

当然调整尺寸的方法很多,我们为什么用Python来调整呢?

一方面,用Python调整起来既简单又便捷,非常实用;

另一方面,这也能给自己一个练习Python的机会,让自己从最基础的小项目开始,慢慢练习Python。

了解了这些,让我们来看看如何用python编写简洁的代码实现这个小项目吧!

练习时间

安装PIL库

PIL(Python Image Library)是python提供实现图像处理的强大第三方库,用它就能实现图片的缩放。

首先,我们来到终端,输入pip install Pillow便可进行安装。

安装完毕后,我们可以在python中执行from PIL import Image用来检验是否安装成功。

 

用PIL打开图片文件

在python中,我们通过from PIL import Image导入图片处理的功能模块,

再利用Image提供的.open()函数,输入需要打开的图片路径作为参数即可打开图片文件。

 ​​​​​​

from PIL import Imageimg=Image.open('0.jpg')# 利用Image.open('图片文件路径')可以打开图片文件并返回一个文件对象print(img.size)# 图片文件对象调用.size可以获取图片的尺寸信息

利用resize()函数进行缩放

得到的图片文件对象可以调用resize()函数,输入你想要调整后的尺寸大小实现对图片尺寸的调整。

from PIL import Imageimg=Image.open('0.jpg')# 利用Image.open('图片文件路径')可以打开图片文件并返回一个文件对象print(img.size)# 输出:(750,750)# 图片文件对象调用.size可以获取图片的尺寸信息new_img=img.resize((250,250))# 以元组形式输入想要调整到的尺寸作为resize函数的参数,会返回一个新的图片文件对象print(new_img.size)# 输出:(250,250)

图片保存

对新得到的图片文件调用.save('保存路径')即可保存修改后的图片啦!​​​​​​​

from PIL import Imageimg=Image.open('0.jpg')# 利用Image.open('图片文件路径')可以打开图片文件并返回一个文件对象print(img.size)# 输出:(750,750)# 图片文件对象调用.size可以获取图片的尺寸信息new_img=img.resize((250,250))# 以元组形式输入想要调整到的尺寸作为resize函数的参数,会返回一个新的图片文件对象print(new_img.size)# 输出:(250,250)new_img.save('0_new.jpg')

总结

用Python调整图像尺寸,你学会了么?

我们还可以利用上面学到的方法集成到一个函数里,通过这个函数输入要修改的图片、修改后的保存路径、缩放比例即可轻松完成图片缩放功能。​​​​​​​

from PIL import Imagedef resize_img(input_path,output_path,scale): #三个参数分别为修改的图片、修改后的保存路径、缩放比例    if scale>0:        img=Image.open(input_path) #打开图片        x,y=img.size        print('修改前:',img.size)        new_x,new_y=int(scale*x),int(scale*y) #缩放后的长和宽 需要时整数形式        new_img=img.resize((new_x,new_y))   #缩放        new_img.save(output_path)   #保存修改后的图片        print('修改后',new_img.size)    else:        print('缩放比例scale应大于0!!')resize_img('0.jpg','0_new.jpg',0.2)

 

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值