PIL Draw.text和较低分辨率

时间:2011-12-22 21:21:24

标签: python python-imaging-library imaging

我有以下PIL代码在图像中打印文本

import os, sys
import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw

img = Image.open("one.jpg")
draw = ImageDraw.Draw(img)    
font = ImageFont.truetype("/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf",27)
draw.text((100, 100), "test test test", font=font)    
img.save("out.jpg")

这适用于one.jpg文件。但是在另一个名为two.jpg的测试文件中,它不会打印任何内容。从我看来,两个文件之间的唯一区别是two.jpg上的分辨率较低。文件one.jpg是200x200 dpi,two.jpg是60x60 dpi。

如何让draw.text在低分辨率下工作?

谢谢,

1 个答案:

答案 0 :(得分:2)

您需要为文字指定颜色:

import os
import sys
import ImageFont
import Image
import ImageDraw

img = Image.open("two.jpg")
draw = ImageDraw.Draw(img)    
font = ImageFont.truetype("/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf",27)
draw.text((100, 100), "test test test", font=font, fill = 'blue')    
img.save("out.jpg")