您的位置:首页 > 编程语言 > Python开发

python练手项目0005

2017-01-03 14:20 561 查看
本项目采用的是https://github.com/Yixiaohan/show-me-the-code中所提供的练习项目,所有代码均为原创,转载请注明,谢谢。

问题描述:练习0005的问题是有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。

iPhone5的分辨率为1136*640,需要将整个图片放缩到这个尺寸范围之内(可以比这个小)。具体代码如下:

"""

Created on Tue Jan 03 13:13:32 2017

@author: sky

"""

from PIL import Image

def change_size(path):

    with Image.open(path) as im:

        w,h = im.size

        print im.size

        n = (w/1136.0 if (w/1136.0) >= (h/640.0) else h/640.0)

        print w/n,h/n

        im_new = im.resize((int(w/n),int(h/n)))

        im_new.save('finish'+'.jpg')

if __name__ == '__main__':

    change_size('1.jpg')

注意:也有人有image中的thumbnail来进行缩放,但是好像只能讲图片缩小,但不能放大(其实也可以,但是为了效果更好),这里采用了resize

在做除法的时候,分母必须带小数点,不然会得到0,可以参考Python的运行机制问题

详细代码和结果,可以参考https://github.com/g8015108/exercise-for-python

过于image的更多资料可以参考http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: