Sky

python练手项目0005

本项目采用的是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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/g8015108/article/details/53994092
个人分类: Python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

python练手项目0005

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭