Python批量生成特定尺寸图片及图画任意文字的实例

今天小编就为大家分享一篇Python批量生成特定尺寸图片及图画任意文字的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

因为工作需要生成各种大小的图片,所以写了个小脚本,顺便支持了下图画文字内容

具体代码如下:

from PIL import Image, ImageDraw, ImageFont ''' Auth: Xiaowu Chen Note: Please install [pillow] library before run this script. ''' def draw_image(new_img, text, show_image=False): text = str(text) draw = ImageDraw.Draw(new_img) img_size = new_img.size draw.line((0, 0) + img_size, fill=128) draw.line((0, img_size[1], img_size[0], 0), fill=128) font_size = 40 fnt = ImageFont.truetype('arial.ttf', font_size) fnt_size = fnt.getsize(text) while fnt_size[0] > img_size[0] or fnt_size[0] > img_size[0]: font_size -= 5 fnt = ImageFont.truetype('arial.ttf', font_size) fnt_size = fnt.getsize(text) x = (img_size[0] - fnt_size[0]) / 2 y = (img_size[1] - fnt_size[1]) / 2 draw.text((x, y), text, font=fnt, fill=(255, 0, 0)) if show_image: new_img.show() del draw def new_image(width, height, text='default', color=(100, 100, 100, 255), show_image=False): new_img = Image.new('RGBA', (int(width), int(height)), color) draw_image(new_img, text, show_image) new_img.save(r'%s_%s_%s.png' % (width, height, text)) del new_img def new_image_with_file(fn): with open(fn, encoding='utf-8') as f: for l in f: l = l.strip() if l: ls = l.split(',') if '#' == l[0] or len(ls)如果你需要批量的话,批量数据文件的格式如下:#width,height,text 200,200,hello 300,255,world执行后的效果如下:

以上这篇Python批量生成特定尺寸图片及图画任意文字的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...