这个星期事情比较多,所以学习的任务没有完成的很完美,不过也还是学了一点东西的。下面来介绍一下PIL模块。

对PIL的学习还是要从sae平台上没办法读写本地文件说起。因为我要一次性上传好多张图片,所以不想一张一张的上传。开始我想把他们压缩成压缩文件但是在服务器端解压有事个头疼的问题,所以我想用svn把要上传的图片传到和代码同一目录下,再传到storage里。这个过程就要用到sae上的文件读取,可是sae上有限制,所以就没办法,于是就看我师傅的已经做好的网站发现了PIL这个模块,于是就学习了这个模块,并应用了。

PIL(pyhon imaging labrary)模块是python自带的进行图像处理的模块,有自己的函数库,是python常用是的图像处理库。

首先,我在本地进行的一些实验看不到结果。因为我发现我看不到我对图片的操作结果,虽然我知道show()方法可以但是我的电脑不知道怎么回事就是显示不了。所以我就在sae上直接实践了,因为我不用对图片进行任何的额外操作只需要把图片打开并保存在storage上就行了。

以上就是在sae平台上部署的代码部分。在开始还要有:from PIL imoprt Image.通过这样操作我就能把和代码同一级的图片传到storage上保存了。首先就是Image的open方法,通过open方法把图片打开就能对图片进行一系列的操作了。Image.open(file,mode),mode可以省略,如果不省略那就必须是'r',file就是文件的路径名。PIL中属性比较多,下面介绍几个。主要有format,mode,size,platette等等,format就是图片的属性就是图片的后缀名;size是图片的大小,返回值是一个tuple。其他的属性可以参看官方文档http://effbot.org/imagingbook/image.htm。这个文档把PIL介绍的比较完整。

这是三个属性的例子。

对于方法的介绍,我介绍几个我认为比较有趣的。第一个就是transpose(),im.transpose(method)method可以是FLIP_LEFT_RIGHT,FLIP_TOP_BOTTOM,ROTATE_90,ROTATE_180,ROTATE_270。前两个分别是把图片进行左右和上下反转。后面三个是把图片逆时针旋转90,180,270度。

第二个就是比较有用的save(),这个方法可以把经过操作的图片保存在另外一个对象中,比如上边的例子中我把.jpg的图片一.jpeg的形式保存在了o这个文件中,最后通过getvalue()方法保存在storage中。这个save(outfile,options...)的参数主要取决与第一个参数,如果第一个参数是一个实例,那么就必须有第二个参数format用来声明保存的格式,比如我的例子中,o就是一个实例,我以jpeg的格式把图片保存。如果第一个参数是filename,那么后边的参数就可以省略。

第三个是rotate(),这个方法是把图片逆时针旋转参数个角度。im.rotate(45)就是把图片逆时针旋转45度。

第四个就是resize()方法,这个就比较直白就是重新设置图片的大小,比如im.resize((128,128))就是把图片的大小改成128*128的规格。

对于PIL模块还有很多的方法和属性,如果大家比较感兴趣还可以到官方文档中仔细的阅读http://effbot.org/imagingbook/image.htm。官方文档把属性和方法将的比较详细和清楚更适合大家学习。

python中的pil模块_初学python的PIL模块相关推荐

  1. python中的递归思想_〖Python〗-- 递归、面向对象初识及编程思想

    [递归.面向对象初识及编程思想] 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策 ...

  2. python中对列表排序_在Python中对嵌套列表进行排序和分组

    在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...

  3. python中nomodulenamed怎么解决_关于 python ImportError: No module named 的问题

    今天在 centos 下安装 python setup.py install 时报错:ImportError: No module named sysconfig, 当时急着用,就顺手直接源码编译了一 ...

  4. python中main的作用_浅析python 中__name__ = '__main__' 的作用

    很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...

  5. python中case的用法_用 Python 实现简单的 switch/case 语句

    在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此 ...

  6. python中可以作为定界符_在 Python 中,字典和集合都是用一对 作为定界符,字典的每个元素有两部分组成,即 和 ,其中 不允许重复。_学小易找答案...

    [多选题]路由器A的G0/0/1接口配置信息如下,下列说法正确的有?(多选) acl number 3000 rule 5 deny 17 rule 10 deny 89 rule 15 deny 6 ...

  7. python中content的用法_学python吗,教你5个python现学现用的有趣用法

    在我们使用python的过程中也会遇到一些有意思的用法,这里找到了一些总结有趣的 话不多说,接着看下去吧!!!!python高薪就业(视频.学习路线.免费获取)​shimo.im for-else用法 ...

  8. python ide是什么意思_初学Python使用什么IDE会更好?

    有很多Python初学者在纠结使用什么代码编辑器会更好,是pycharm?spyder?还是jupyter? 在我看来,初学Python的朋友一般会关注两个重点,一个是Python该如何学好,另一个是 ...

  9. 学python电脑要装什么_初学 Python 需要安装哪些软件?

    KDnuggets2018年的一个博客发起了一项投票:数据科学中最好用的Python IDE是什么? 本次调查共有1900多人参与,调查结果如下图所示.前5个选择是: Jupyter,57% PyCh ...

  10. python中的元类_理解python中的元类

    一,理解类也是对象 在python中类同样也是一种对象,只要使用关键字class,Python解释器在执行的时候就会创建一个对象,这个对象(类)自身拥有创建对象(类实例)的能力,这就是为什么他是一个类 ...

最新文章

  1. 【移动端最强架构】LCNet吊打现有主流轻量型网络(附代码实现)
  2. Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
  3. 执行srvctl报错 :error while loading shared libraries: libpthread.so.0:
  4. PHP excel文件导入至mysql中!
  5. php 清空一个数组_PHP工程师学Python数据类型
  6. web登录时候加入过滤器的用法
  7. 关于IE无法打开flex程序的问题
  8. nodejs的一些玩法
  9. VHDL学习之TEXTIO在仿真中的应用
  10. Android WebView:这是一份全面 详细的WebView学习指南
  11. 结构体交换遇到指针问题和一些记录
  12. 一起谈.NET技术,ASP.NET的状态管理
  13. 项目实战——高拓展的实时聊天系统
  14. 在AD09中怎样同时高亮两个网络(即net)?按住Ctrl,鼠标点一个网络,按住Ctrl+Shift,鼠标再点另一个网络,想亮多少亮多少。
  15. 计算机网络实验——华为eNSP模拟器常用命令总结(总结的非常详细( •̀ .̫ •́ )✧快来看啊)
  16. 计算机无法识别佳能70d相机,佳能相机常见的错误代码和解决方案-万兴恢复专家...
  17. 初识大数据:全国社会保险大数据应用创新大赛
  18. leetcode 1114
  19. VisionMobile:Apple和三星利润的秘诀
  20. 警校计算机专业考研,一名警校毕业生的跨专业考研路

热门文章

  1. 中国移动刘光毅:从5G的发展经验看6G
  2. 鸿蒙系统支持高清通话吗,电信VoLTE开通方法介绍 所有注意点全在这了
  3. 3D建模布线需要注意哪些?
  4. java线上查看死锁
  5. Echarts给折线图给横竖坐标轴添加箭头与标签文字过长显示不全处理
  6. Lua热更原理以及加载规则
  7. 世界五百强中国上榜公司首次超过美国;现代汽车发布电动汽车品牌IONIQ | 美通企业日报...
  8. 【Bug】无法访问Windows Installer服务
  9. 有哪些软件是可以免费看漫画的?这3款软件带你梦回童年
  10. python绘制单线图_如何绘制管道单线图