新建图像
-
# 三个参数分别代表图像的模式:常用的为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)
基本上就这么多内容了,其它的随后用到时再补…………