作者danny0838 (道可道非常道)
看板Python
标题[问题] PIL 有时画不出字体,疑字体档问题
时间Sun Aug 26 00:14:09 2012
我尝试使用 PIL 把字体档绘制成图片,然而有些字体可以绘出,有些则画不出来。
似乎是字体档本身的问题,不知道是哪方面的问题,以及如何修正?
程式码如下,在命令列执行
image.py:
import Image, ImageDraw, ImageFont
size = 100
text = "人" # 画出来看得到
font = "mingliu.ttc" # 字体档 Windows 里有
# text = "" # 换成这两句就画不出来了 (该字元为 U+E010)
# font = "hzcdp01b.ttf" # 字体档: http://goo.gl/XiSw9
text = text.decode('UTF-8')
# 确定正确安装後此字体有 U+E010 这个字元
im = Image.new("RGBA", (size, size), "white")
draw = ImageDraw.Draw( im )
draw.ink = 0 + 0*256 + 0*256*256
font = ImageFont.truetype(font, size )
draw.text( (0,0), text, font=font )
data = im.getdata()
newData = list()
for item in data:
if item[0] == 255 and item[1] == 255 and item[2] == 255:
newData.append((255, 255, 255, 0))
else:
newData.append((item[0], item[1], item[2], 255))
im.putdata(newData)
im.save( "text.png" )
另外顺带一问,我想要输出透明背景的图片,以上写法可行,
但如果要画白色字 (draw.ink = 255 + 255*256 + 255*256*256) 就会看不到
是否有其他更漂亮的替代写法?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.42.36.142
※ 编辑: danny0838 来自: 114.42.36.142 (08/26 00:16)