2015-07-10 15 views
5

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:

Image dpi=72

Die high_quality.png ist:

Image dpi=600

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?

Antwort

6

Die DPI-Werte sind nur Metadaten auf Computerbildern. Sie geben Hinweise zum Anzeigen oder Drucken eines Bildes.

Beim Drucken eines 360 × 360-Bildes mit 360 dpi wird ein Ausdruck mit 1 × 1 Zoll ausgegeben.

Eine vereinfachte Erklärung: Die DPI-Einstellung empfiehlt eine Zoomstufe für das Bild.

Das Speichern mit anderen DPIs ändert nicht den Inhalt des Bildes. Wenn Sie ein größeres Bild wünschen, verwenden Sie eine größere und eine größere Schrift.

Verwandte Themen