Python常用的图片处理方法

来源:赵克立博客 分类: Python 标签:PIL发布时间:2018-01-29 11:46:34最后更新:2018-02-01 10:38:29浏览:1267
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。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")



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python