PIL Draw.text与低分辨率
我有以下的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 个回答
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")