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

来源:互联网 发布:添加联合主键 sql 编辑:程序博客网 时间:2024/05/16 15:03

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

代码如下:

from PIL import Image, ImageFont, ImageDrawimport glob, osdef 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'%contentif __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

0 0
原创粉丝点击