- A+
当时我还是初中生的时候,去了一家初中生学编程的学校里面有一课讲述的就是使用python调整图像大小,这里我也把我的经验告诉大家。
我喜欢Python,而且我已经学习了一段时间了。前段时间,我写了一个Python脚本,我需要调整一堆图像,同时保持纵横比(比例)不变。所以我环顾四周找到了PIL(Python Imaging Library)。
您需要安装PIL才能使代码生效。请注意,PIL似乎不再被维护,尽管也可以使用称为Pillow的“友好分叉” 。要在基于Debian的系统上安装PIL ,请在终端中以root身份运行以下命令:
aptitude install python-imaging
现在,对于Python代码来说,在保持宽高比的同时调整图像大小。
从PIL导入图像导入PIL basewidth = 300 img =图片。开放( 'fullsized_image。JPG ') wpercent =(basewidth /浮动(img.size [0])) HSIZE = INT((浮子(img.size [1])*浮子(wpercent))) IMG = img.resize( (basewidth,hsize),PIL.Image.ANTIALIAS) img.save('resized_image.jpg' )
这几行Python代码将使用PIL 调整图像(fullsized_image.jpg)的大小,宽度为300像素,其设置在变量basewidth和与新宽度成比例的高度。通过确定300像素的原始宽度(img.size [0])然后将原始高度(img.size [1])乘以该百分比来计算比例高度。生成的高度值保存在变量hsize中。
如果您的图像需要不同的宽度,则可以将basewidth更改为任何其他数字。另外,请注意我以不同的名称resized_image.jpg保存了已调整大小的图像,因为我还想保留全尺寸图像(fullsized_image.jpg)。当然,你不必这样做。如果这是您想要的,您可以使用相同的文件名覆盖已调整大小的图像的全尺寸图像。
注意:如果您在Zope中将此脚本用作外部方法,则需要PIL导入Image中的行以避免与Zope的Image发生命名空间冲突。
如果高度是固定的,宽度按比例变化,那几乎是一样的,你只需稍微改变一下:
baseheight = 560 img =图片。开放( 'fullsized_image。JPG ') hpercent =(baseheight /浮动(img.size [1])) WSIZE = INT((浮子(img.size [0])*浮子(hpercent))) IMG = img.resize( (wsize,baseheight),PIL.Image.ANTIALIAS) img.save('resized_image.jpg' )
注意basewidth现在是baseheight,因为height是固定的。在第三行,我们计算高度百分比,所以我们需要img.size [1]而不是img.size [0]。size属性是一个包含宽度和高度的元组,以像素为单位; size [0]指的是第一个元组元素,它是宽度,size [1]是第二个元素,即height。第4行也在尺寸[0]之间切换宽度和尺寸[1]的高度。
上面这些就是当时我在这家初中生学编程的学校学到的关于如何使用python调整图像大小的技巧了,如果还有其他想问的也可以留言给我。
在下方填写信息,可免费获得学而思网校一对一学习资料哦!
立即咨询1对1在线课程
- 请输入手机号码
-
请输入验证码
验证码输入有误
领取成功!
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏