python调整图像⼤⼩_使⽤Python调整图像⼤⼩
python 调整图像⼤⼩
我喜欢 ,并且已经学习了⼀段时间。 前段时间,我编写了⼀个Python脚本,需要调整⼀堆图像的⼤⼩,同时保持长宽⽐(⽐例)不变。因此,我环顾四周,发现了 。
您需要安装PIL才能使代码正常⼯作。 请注意,尽管也可以使⽤称为的“友好叉”,但似乎不再维护PIL。 要在基于的系统上安装PIL,请以root⽤户⾝份在终端中运⾏以下命令:
aptitude install python-imaging
现在是⽤于在保持宽⾼⽐的同时调整图像⼤⼩的Python代码。
import PIL
from PIL import Image
basewidth
=
resized
300
img
= Image.
open
( ‘fullsized_image.
jpg
')
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = size((basewidth, hsize), PIL.Image.ANTIALIAS)
img.save(‘resized_image.jpg'
)
这⼏⾏Python代码将使⽤PIL将图像( fullsized_image.jpg )调整为300像素的宽度,该宽度设置为变量basewidth和与新宽度成⽐例的⾼度。 通过确定原始宽度(img.size [0])的300个像素的百分⽐,然后将原始⾼度(img.size [1])乘以该百分⽐,可以计算出⽐例⾼度。 结果⾼度值保存在变量hsize中。
如果您需要不同的图像宽度,则可以将基本宽度更改为任何其他数字。 另外,请注意,我将调整⼤⼩后的图像保存为另⼀个名称
resized_image.jpg ,因为我也想保留完整⼤⼩的图像( fullsized_image.jpg )。 当然,您不必这样做。 如果需要,可以使⽤相同的⽂件名⽤调整⼤⼩后的图像覆盖完整尺⼨的图像。
注意:如果在Zope中将此脚本⽤作外部⽅法,则需要PIL import Image中的⾏,以避免名称空间与Zope的Image冲突。
如果⾼度是固定的,宽度是成⽐例变化的,则⼏乎是同⼀件事,您只需要稍微改变⼀下即可:
baseheight
=
560
img
= Image.
open
( ‘fullsized_image.
jpg
')
hpercent = (baseheight / float(img.size[1]))
wsize = int((float(img.size[0]) * float(hpercent)))
img = size((wsize, baseheight), PIL.Image.ANTIALIAS)
img.save(‘resized_image.jpg'
)
注意, basewidth现在是baseheight ,因为height是固定的。 在第三⾏中,我们正在计算⾼度百分⽐,因此我们需要img.size [1]⽽不是img.size [0] 。 size属性是⼀个元组,包含以像素为单位的宽度和⾼度。 size [0]表⽰第⼀个元组元素,它是宽度,⽽size [1]是第⼆个元素,它是⾼度。 第4⾏还具有在size [0](宽度)和size [1](⾼度)之间切换的功能。
最初在Dayo Ntwari的发布,并经许可在知识共享(Creative Commons)下重新发布。
python 调整图像⼤⼩

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。