Python常用的图片处理方法
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2018-02-01 10:38:29
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
一、图片合并
把图片2合并到图片1上指定的位置并调用windows默认看图软件显示
from PIL import Image # from PIL import ImageChops img1 = Image.open('e:/sf/1.jpg') img2 = Image.open('e:/sf/2.png') img1.paste(img2, (196, 139)) img1.show()
二、剪切图片
from PIL import Image # from PIL import ImageChops img1 = Image.open('e:/sf/1.jpg') box = (10, 10, 100, 100) region = img1.crop(box) region.show()
三、向图片上写字
from PIL import Image, ImageDraw, ImageFont txt1 = u"第一个文字" txt2 = u"第二个文字 " img1 = Image.open('e:/sf/1.jpg') drawImg = ImageDraw.Draw(img1) ttfront = ImageFont.truetype('msyh.ttf', 55) drawImg.text((100, 10), txt1, fill=(0, 0, 0), font=ttfront) drawImg.text((160, 100), txt2, fill=(0, 0, 0), font=ttfront) img1.show()
四、把图片中的白色转为透明色
from PIL import Image img = Image.open("jgz.jpg") img = img.convert("RGBA") datas = img.getdata() newData = list() for item in datas: if item[0] > 220 and item[1] > 220 and item[2] > 220: newData.append((255, 255, 255, 0)) else: newData.append(item) img.putdata(newData) img.save("jgz_alpha.png", "PNG")
五、根据图片宽高对像素进行一些处理
from PIL import Image # 加载图片 img = Image.open('./bg/2.jpg') pixs = img.load() for x in range(img.width): for y in range(img.height): item = pixs[x, y] # 对像素进行一些处理 img.save("b.png")