>>> from PIL import Image
>>> #读取图像文件
...
>>> gal=Image.open('/Users/similarface/PycharmProjects/mybook/products/2016/06/13/1_TIBX78J.png')
>>> #查看文件大小
...
>>> gal.size
(100, 100)
>>> #显示文件
...
>>> gal.show()

>>> #显示灰度图像
...
>>> gal.convert('L').show()

>>> gal.mode
'RGBA'
>>> gal.format
'PNG'
'''
将图片的格式转化成jpg格式的
'''
filelist=[]
for infile in filelist:
f, e = os.path.splitext(infile)
outfile = f + ".jpg"
if infile != outfile:
try:
Image.open(infile).save(outfile)
except IOError:
print "cannot convert", infile '''
将图片生成缩略图
'''
size = 128, 128
for infile in sys.argv[1:]:
outfile = os.path.splitext(infile)[0] + ".thumbnail"
if infile != outfile:
try:
im = Image.open(infile)
im.thumbnail(size)
im.save(outfile, "JPEG")
except IOError:
print "cannot create thumbnail for", infile
#获取文件基础消息
import Image
for infile in filelist:
try:
im = Image.open(infile)
print infile, im.format, "%dx%d" % im.size, im.mode
except IOError:
pass
'''
Cutting, Pasting and Merging Images #
''' >>> box=(0,25,70,50)
>>> region=gal.crop(box)
>>> region.show()
#存储的图片是从原始文件左上角为参照原点(0,25)开始
#70长 50高的图片 #将图片旋转180
region=region.transpose(Image.ROTATE_180)
>>> region.save('/tmp/sub.png',"PNG") def roll(image, delta):
"Roll an image sideways"
xsize, ysize = image.size delta = delta % xsize
if delta == 0:
return image
#图像裁减
part1 = image.crop((0, 0, delta, ysize))
part2 = image.crop((delta, 0, xsize, ysize))
#图像粘贴
image.paste(part2, (0, 0, xsize-delta, ysize))
image.paste(part1, (xsize-delta, 0, xsize, ysize))
return image #将颜色通道分割 [这儿是rgba的图像格式,有rgb的]
r,g,b ,a= gal.split() #合并通道
im = Image.merge("RGB", (b, g, r))
im.show()
im = Image.merge("RGB", (b, g, a)) >>> gal=Image.open('/Users/similarface/PycharmProjects/mybook/products/2016/06/13/1_TIBX78J.png')
>>>
>>> gal.resize((128,128))
<PIL.Image.Image image mode=RGBA size=128x128 at 0x108AECF90>
#重新设置大大
>>> gal.resize((1128,1128)).show()
#旋转45度
>>> gal.rotate(45).show()
#旋转30度
>>> gal.rotate(30).show() #图像左右对称图
gal.transpose(Image.FLIP_LEFT_RIGHT).show()
#图像上下对称图
gal.transpose(Image.FLIP_TOP_BOTTOM)
#图像旋转
out = im.transpose(Image.ROTATE_90)
out = im.transpose(Image.ROTATE_180)
out = im.transpose(Image.ROTATE_270)

最新文章

  1. 【iCore3 双核心板】iCore3封装库及使用说明V1.0
  2. SQL:将字符串以特定字符分割并返回Table
  3. aapt aidl
  4. bat拷贝文件
  5. 通用PE u盘装Ghost Win7系统
  6. 如何获取path与basePath
  7. Android 项目中用得最多最火的第三方框架可能都在这里了
  8. 心智与认知(1): 反馈循环(Feedback loop)
  9. Tomcat 的 ManagerApp 简单使用
  10. vue的中vuex为何需要mutation更新状态,vue-router的路由的理解
  11. ubuntu14.04, Cloudera Manager 5.11.1, cdh5.11.1 postgresql离线部署
  12. java 四种线程池的异同
  13. ServiceLoader实现原理
  14. MSSQL给字段添加默认值
  15. par函数fg参数-控制前景色
  16. C++ 源代码到可执行代码的详细过程
  17. luogu P1060 开心的金明
  18. 命令行操作flask
  19. NIO之阻塞IO与非阻塞IO(包含Selector使用)
  20. 为什么要搞vim

热门文章

  1. Mybatis更新用户
  2. Shiro 设置session超时时间
  3. vertica数据库怎么查看连接数是否已经达到最大值
  4. linux/mac系统的软链接文件与硬链接文件
  5. adb logcat通过包名过滤(dos命令find后跟变量)
  6. http://blog.sina.com.cn/s/blog_628cc2b70102v115.html
  7. 《深入理解Java虚拟机》笔记2
  8. selenium 问题:Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms
  9. 利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 的管理任务和基本任务
  10. Android短信发送器(2)