Ich versuche, Bilder auf Python mit Pillow library programmatisch zu erstellen, aber ich habe Probleme mit der Bildqualität des Textes im Bild.Wie kann ich DPI beim Speichern eines Kissenbildes richtig einstellen?
Ich mag das Bild speichern die ich zu PNG erzeugen, so dass ich die DPI-Einstellung, wenn nach this speichern, sondern darum, ob ich spare mit dpi = (72,72) oder dpi = (600600) sieht es optisch gleich aus.
Mein Code, es zu tun ist folgende:
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))
Die low_quality.png ist:
Die high_quality.png ist:
Wie es auf den Bildern zu sehen ist Die Qualität hat sich nicht geändert. Was mache ich hier falsch?
Wo stelle ich die DPI so ein, dass das Bild wirklich dpi = 600 hat?