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
问题描述:练习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
相关文章推荐
- python练手项目(1)——字符图片生成
- Python练手项目0016
- 70个Python练手项目列表(都有完整教程)
- 有哪些适合新手练手的Python项目?
- 【Python】 Flask 缘分匹配练手项目
- Python练手项目0 - 给头像右上角添加数字
- Python练手项目0014
- Python练手项目
- Python学习路径及练手项目合集
- python练手项目
- Python学习路径及练手项目合集
- Python练手项目0006
- Python练手项目0015
- 有哪些适合新手练手的Python项目?
- Python练手项目(2)——200行实现2048小游戏
- Python之路【第二十四篇】:Python学习路径及练手项目合集
- Python练手项目0009
- 利用Caffe+Python实现Kaggle上Digit Recognition练手项目
- 10个Python练手项目