我有以下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在低分辨率下工作?
谢谢,
答案 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")