
正文
python PIL图像处理
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
新建图像
# 三个参数分别代表图像的模式:常用的为RGB(3通道) 、RGBA(4通道为透明通道,0为完全透明, 256为不透明)
# 第二个参数为图像的长宽参数
# 第三个为默认的填充颜色,RGB时长度为3,RGBA是长度为4
img =Image.new('mod',(width,height),(color1, color2, color3, color4))
打开图像
# 打开已存在的图像,两个参数分别表示图像路径及模式
img =Image.open('path','mode')
预览&保存
# 加入到缓存中,并打开图片展示,常用于测试环境中
img.show()
# 保存图片
img.save('path','mode')
修改图像参数
# 修改图片大小
img =img.resize((width,height))
# 修改模式 常用的模式: RGB、RGBA、1(二值图)、L(灰度图),当转换为二值图时,默认将128以下的转为黑色,128以上的像素转换为白色,为满足多样化需求,可以使用自定义方法: img.point(table, 'model'),但是在使用自己的字典转换后的图片与使用模式'1'的差别很大,目前无解,随后有需要了再重新看这个地方
img = img.convert('mode')
透明度处理
# 透明度处理仅为RGBA模式才会有,如为非RGBA,则可进行转换
img = img.convert('RGBA')
# 获取alpha(透明度层图像),可以像普通图片一样修改相应的透明度
img.split()[3]
# 设置图片的透明图层,新增或替换透明图层,注意透明图层与原图像的大小要相同
img.putalpha(alpha)
图像粘贴
img =''
# 可以将部分图片粘贴到指定位置,有三个参数,粘贴的内容,粘贴的位置:如果长度为2,则表示起始位置,如果长度为4,则表示起始与结束位置; mask:蒙板层,当img1的模式为RGB模式时,设置为None,如果为RGBA,即存在透明图层时,因为粘贴时无法将图片的透明图层复制过来,所以需要在这里手动指定透明图层
img2.paste(img1,(x, y), mask=img.split()[3])
其它的操作
# 获取指定位置的颜色
img.getpixel((x, y))
# 设置指定位置的颜色
img.putpixel((x, y),(color1....))
# 图片的旋转,常用的有三个参数:逆时针旋转的角度
# 旋转过后的图片过滤器,默认的效果较差,可以指定另外几种类型
# expand 偏转后是否改变长宽来显示所有内容
img = img.rotate(angle, resample=NEAREST, expand=0)
基本上就这么多内容了,其它的随后用到时再补…………








