python照片处理_Python常用的图片处理方法
一、图片合并
把图片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")
一、图片合并 把图片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")