python PIL图片加黑边和标题的处理

公司有人让给图片批量加个黑边和标题,省得在PS里一张一张的麻烦处理,一开始她也给我个PS的javascript的脚本,但不知怎么老是报错,说是找不到javascript,于是自己只能想办法,在另一位同事的帮助下,用python的pillow,顺利实现其功能,这里贴出来代码,方便以后的使用。

代码如下:

from PIL import Image, ImageFont, ImageDraw
import glob, os

def processImage(path):
    content, ext = os.path.splitext(os.path.basename(path))

    # size = 1920, 1080
    image1 = Image.new("RGB", (1920, 1080))
    image2 = Image.open(path)

    image2 = image2.resize((1920, 872), )
    # image.thumbnail(size)
    
    draw = ImageDraw.Draw(image1)

    # use a truetype font
    font = ImageFont.truetype("arial.ttf", 50)

    draw.text((100, 20), content, font = font)
    bw, bh = image1.size
    lw, lh = image2.size

    image1.paste(image2, (bw - lw, (bh - lh)/2))

    path = os.path.split(path)
    # image3 = Image.composite(image1, image2, "L")
    newpath = os.path.join(dir, "composite").replace('\\', '/')
    
    if not os.path.exists(newpath):
        os.mkdir(newpath)

    _path = os.path.join(newpath, '%s%s'%(content, "_merge.jpg"))
    image1.save(_path.replace('\\', '/'), "JPEG")

    print 'Process image %s'%content

if __name__ == '__main__':
    dir = os.path.split(__file__)[0]
    originPic = os.path.join(dir, '*.jpg').replace('\\', '/')
    images = glob.glob(originPic)
    if not images: raise RuntimeError, 'No jpeg files'
    for path in images:
        processImage(path)

最终效果如下:



其他功能可以参考这个博客的内容:http://blog.csdn.net/orangleliu/article/details/43529319

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值