Sto cercando di creare immagini in modo programmatico su Python utilizzando Pillow library ma ho problemi con la qualità dell'immagine del testo all'interno dell'immagine.Come si imposta correttamente il DPI quando si salva un'immagine del cuscino?
voglio salvare l'immagine del genero in PNG, quindi sono l'impostazione del DPI durante il salvataggio in base alla this, ma se mi risparmia con dpi = (72,72) o dpi = (600.600) sembra visivamente uguale.
Il mio codice per farlo è la seguente:
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))
Il low_quality.png è:
Il high_quality.png è:
Come è visibile dalle immagini La qualità non è cambiata. Cosa sto facendo di sbagliato qui?
Dove si imposta il DPI in modo che l'immagine abbia realmente dpi = 600?