• python PIL图像处理


    新建图像

    1. # 三个参数分别代表图像的模式:常用的为RGB(3通道) 、RGBA(4通道为透明通道,0为完全透明, 256为不透明)
      # 第二个参数为图像的长宽参数
      # 第三个为默认的填充颜色,RGB时长度为3,RGBA是长度为4
      img =Image.new('mod',(width,height),(color1, color2, color3, color4))

    打开图像

    1. # 打开已存在的图像,两个参数分别表示图像路径及模式
      img =Image.open('path','mode')

    预览&保存

    1. # 加入到缓存中,并打开图片展示,常用于测试环境中
      img.show()
      # 保存图片
      img.save('path','mode')

    修改图像参数

    1. # 修改图片大小
      img =img.resize((width,height))
      # 修改模式 常用的模式: RGB、RGBA、1(二值图)、L(灰度图),当转换为二值图时,默认将128以下的转为黑色,128以上的像素转换为白色,为满足多样化需求,可以使用自定义方法: img.point(table, 'model'),但是在使用自己的字典转换后的图片与使用模式'1'的差别很大,目前无解,随后有需要了再重新看这个地方
      img = img.convert('mode')

    透明度处理

    1. # 透明度处理仅为RGBA模式才会有,如为非RGBA,则可进行转换
      img = img.convert('RGBA')
      # 获取alpha(透明度层图像),可以像普通图片一样修改相应的透明度
      img.split()[3]
      # 设置图片的透明图层,新增或替换透明图层,注意透明图层与原图像的大小要相同
      img.putalpha(alpha)

    图像粘贴

    1. img =''
      # 可以将部分图片粘贴到指定位置,有三个参数,粘贴的内容,粘贴的位置:如果长度为2,则表示起始位置,如果长度为4,则表示起始与结束位置; mask:蒙板层,当img1的模式为RGB模式时,设置为None,如果为RGBA,即存在透明图层时,因为粘贴时无法将图片的透明图层复制过来,所以需要在这里手动指定透明图层
      img2.paste(img1,(x, y), mask=img.split()[3])

    其它的操作

    1. # 获取指定位置的颜色
      img.getpixel((x, y))
      # 设置指定位置的颜色
      img.putpixel((x, y),(color1....))
      # 图片的旋转,常用的有三个参数:逆时针旋转的角度
      # 旋转过后的图片过滤器,默认的效果较差,可以指定另外几种类型
      # expand 偏转后是否改变长宽来显示所有内容
      img = img.rotate(angle, resample=NEAREST, expand=0)

    基本上就这么多内容了,其它的随后用到时再补…………

  • 相关阅读:
    个人作业3——个人总结(Alpha阶段)
    结对编程2 单元测试
    英语学习app案例分析
    结对作业1
    java四则运算生成器
    个人附加作业 201421123108 王坤彬 网络1414
    个人作业3-(Alpha阶段)
    结对编程之单元测试 201421123108 王坤彬
    英语学习案例分析APP 201421123108 王坤彬
    结对编程 王坤彬 201421123108
  • 原文地址:https://www.cnblogs.com/417xiaoliu/p/489a74064fea16d05cd482e7881b7d69.html
Copyright © 2020-2023  润新知