网上各类带文字的表情图片都被你们玩坏了,今天就和你们一块儿用 python 亲自作一个带字表情图片生成器。python
不知道你们有没有看到网上有不少人都在说 "人生苦短,我用 python",这句话我以前也不是很理解,以为人生苦短和用python貌似并无什么关系,后来算是对这句话慢慢有了本身的理解,我以为一个重要的缘由就是 python 有很是多的库,并且功能很强大,不少功能都再也不须要本身造轮子,拿过来就能直接使用,这样真的会节省不少的时间和精力,因此咱们就把时间浪费在更多有趣的事情上去吧。说到这一点,其实就是跟我今天要用到的一个图片处理库 pillow 有关,咱们用 pillow 只需短短几行代码就能实现给图片加字的功能。字体
pillow 是python中一个强大的图片处理库,好比常见的图片旋转、翻转、滤镜效果等,均可以很简单的用 pillow 来实现,我前面的文章也有用到过 pillow 对图片进行处理,若是你尚未安装 pillow 的话,先使用命令 pip install pillow 来安装,下面先来看一段代码,这段代码主要是生成一张文字图片。spa
from PIL import Image, ImageDraw, ImageFontcontent = '你怎么这么好看呐' #这是你要加的文字image = Image.new(mode="RGB", size=(500,260), color=(255,255,255)) #建立一个空白的图片,大小为300*200,背景为白色draw = ImageDraw.Draw(image)imageFont = ImageFont.truetype("C:\Windows\Fonts\FZY4JW.TTF", 58) #定义文字字体及字号,这里用你本身电脑本地的字体#下面三行是用来计算文字的位置,用来居中文字内容txtSize = draw.textsize(content, imageFont)pos_x = (500 - txtSize[0]) / 2 if 500 > txtSize[0] else 0pos = (pos_x, 100)draw.text(pos, content, font=imageFont, fill='#000000') #文字写入图片image.save('68.png') #保存图片
咱们再来升级下程序,给一张表情图片加字,实现一个斗图表情生成器,下面是完整的实现代码。code
from PIL import Image, ImageDraw, ImageFontcontent = '也不知道为啥,我好开心啊' #这是你要加的文字# image = Image.new(mode="RGB", size=(500,260), color=(255,255,255)) #建立一个空白的图片,大小为300*200,背景为白色image = Image.open('tim1.jpg') #打开一张图片draw = ImageDraw.Draw(image)imageFont = ImageFont.truetype("C:\Windows\Fonts\FZY4JW.TTF", 25) #定义文字字体及字号,这里用你本身电脑本地的字体width,height = image.size #获取图片大小#下面三行是用来计算文字的位置,用来居中文字内容txtSize = draw.textsize(content, imageFont)pos_x = (width - txtSize[0]) / 2 if width > txtSize[0] else 0pos = (pos_x, 50)draw.text(pos, content, font=imageFont, fill='#000000') #文字写入图片image.save('68.png') #保存图片
人生苦短,用短短几行 python 代码就能实现生活中实用的小功能,是否是颇有意思呢。blog