我正在尝试使用Pillow库在Python上编程生成图像,但是我在图像内部的文本质量方面遇到了问题。
我想将我生成的图像保存为PNG格式,因此在保存时设置了DPI,根据这个文档的说明,但是不管我使用dpi=(72,72)还是dpi=(600,600)保存,视觉效果都相同。
我的代码如下:
from PIL import Image, ImageDraw, ImageFont
def generate_empty_canvas(width, height, color='white'):
size = (width, height)
return Image.new('RGB', size, color=color)
def draw_text(text, canvas):
font = ImageFont.truetype('Verdana.ttf', 10)
draw = ImageDraw.Draw(canvas)
if '\n' not in text:
draw.text((0, 0), text, font=font, fill='black')
else:
draw.multiline_text((0, 0), text, font=font, fill='black')
def create_sample():
text = 'aaaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbbbbbbbbbbb\nccccccccccccccccccccc'
canvas = generate_empty_canvas(200, 50)
draw_text(text, canvas)
canvas.save('low_quality.png', dpi=(72, 72))
canvas.save('high_quality.png', dpi=(600, 600))
low_quality.png是:
high_quality.png是:
从图像中可以看出质量没有改变。 我在这里做错了什么?
我应该在哪里设置DPI,以便图像确实具有dpi = 600?