有时候,我们需要将文本转换为图片,比如发长微博,或者不想让人轻易复制我们的文本内容等时候。目前类似的工具已经有了不少,不过我觉得用得都不是很趁手,于是便自己尝试实现了一个。你可以先访问一下查看效果:txt2.im 。
在 Python 中,PIL (Python Imaging Library) 是最常用的绘图库,自然地,尝试从 PIL 开始。
1、使用 PIL 将文字转换为图片
说转换其实并不恰当,真实的过程是:先在内存中生成一张图片,将需要的文字绘制到这个图片上,再将图片保存到指定位置。代码如下:
01 |
# -*- coding: utf-8 -*- |
02 |
03 |
import os |
04 |
import Image, ImageFont, ImageDraw |
05 |
06 |
text = u "这是一段测试文本,test 123。" |
07 |
08 |
im = Image.new( "RGB" , ( 300 , 50 ), ( 255 , 255 , 255 )) |
09 |
dr = ImageDraw.Draw(im) |
10 |
font = ImageFont.truetype(os.path.join( "fonts" , "msyh.ttf" ), 14 ) |
11 |
12 |