gpt4 book ai didi

python - 保存 Pillow 图像时如何正确设置 DPI?

转载 作者:太空狗 更新时间:2023-10-29 22:11:00 31 4
gpt4 key购买 nike

我正在尝试使用 Pillow library 在 Python 上以编程方式创建图像但我对图像中文本的图像质量有疑问。

我想将我生成的图像保存为 PNG,所以我在保存时根据 this 设置 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 是:

Image dpi=72

high_quality.png 是:

Image dpi=600

由于图像可见,质量没有改变。我在这里做错了什么?

我在哪里设置 DPI 以使图像真正具有 dpi=600?

最佳答案

DPI 值只是计算机图像上的元数据。它们给出了如何显示或打印图像的提示。

以 360 dpi 打印 360×360 图像将产生 1×1 英寸的打印输出。

一种简化的解释方式:DPI 设置建议图像的缩放级别。

用其他 DPI 保存不会改变图像的内容。如果您想要更大的图像,请创建更大的 Canvas 并使用更大的字体。

关于python - 保存 Pillow 图像时如何正确设置 DPI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31351384/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com