python图片方面应用

48 篇文章 0 订阅
7 篇文章 1 订阅
白色转透明,根据颜色值来判断,将符合条件的像素值alpha通道值改为0
from PIL import Image
def transPNG(srcImageName,dstImageName):
    img = Image.open(srcImageName)
    img = img.convert("RGBA")
    datas = img.getdata()
    newData = list()
    for item in datas:
        if item[0] >250 and item[1] > 250 and item[2] > 250:
            newData.append(( 255, 255, 255, 0))
        else:
            newData.append(item)

    img.putdata(newData)
    img.save(dstImageName,"PNG")
transPNG("a0.png","aa0.png")
gif动图修改
from PIL import Image, ImageDraw, ImageFont
import imageio,os,sys
def Gif2PNG():
    def processImage(infile):
        try:
            im = Image.open(infile)
        except IOError:
            print ("Cant load", infile)
            sys.exit(1)
        i = 0
        mypalette = im.getpalette()

        try:
            while 1:
                im.putpalette(mypalette)
                new_im = Image.new("RGBA", im.size)
                new_im.paste(im)
                new_im.save('a'+str(i)+'.png')

                i += 1
                im.seek(im.tell() + 1)

        except EOFError:
            pass # end of sequence
    processImage('source.gif')
def NewNameImg(name='测试',size=(63, 22),axis=(2, 2),fontsize=22):
    '''创建名字图片 name 名字 size 图片尺寸 axis 文字定位坐标 fontsize 字体大小'''
    image = Image.new('RGBA', size, (255,255,255))#创建覆盖文本
    draw = ImageDraw.Draw(image)
    setFont = ImageFont.truetype('C:/windows/fonts/simhei.ttf', fontsize)#字体
    fillColor = "#000000"#颜色
    draw.text(axis, name, font=setFont, fill=fillColor)
    #image.save('test.png')
    return image
def newGif(name='测试',axis=(81,118),duration=0.1, outName='gif.gif'):
    '''创建GIF name 名字 axis 名字放的位置 duration 动画间隔 outName 输出名字'''
    img2=NewNameImg(name,size=(172,24))
    images = []
    filenames=sorted((fn for fn in os.listdir('.') if fn.endswith('.png')))
    for filename in filenames:
        img=Image.open(filename)
        img.paste(img2, axis)
        img.save(filename)
        images.append(imageio.imread(filename))
    imageio.mimsave(outName, images,duration=duration)


if __name__ == '__main__':
    newGif('测试',axis=(9,152), duration=0.05)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值