Erstellen einer Fläche mit unterschiedlichen DPI Werten
Verfasst: Mittwoch 3. Mai 2023, 10:02
Servus,
derzeit versuche ich eine Fläche mit den Abmaßen 7x7 cm zu erstellen. Die Fläche soll mit einer bestimmten Auflösung DPI (Dots per Inch) abgespeichert werden.
In meinen Programm rechne ich die Länge (7cm) mal die Auflösung (300) durch die Länge von 2.54 cm. Im Ergebnis erhalte ich eigentlich 826 Pixel für die 7cm. Jedoch nach dem öffnen des gespeicherten Bildes in Paint liegt die DPI bei 96 (punkte pro Zoll) und das Bild ist anstatt 7x7 cm jetzt 21,85x21,85 cm groß.
Derzeit sieht mein Programm so aus:
from PIL import Image
# Größe des Bildes in cm
width_cm = 7
height_cm = 7
dpi = 300
# Größe des Bildes in Pixel berechnen
width_px = int( width_cm * dpi / 2.54)
height_px = int( height_cm * dpi / 2.54)
# Neues Bild erstellen
img = Image.new('RGB', (width_px, height_px), color=(0, 255, 255))
# Bild anzeigen und speichern
img.show()
filename = 'XXX'+'7x7.bmp'
img.save(filename)
Ich hoffe Ihr könnt mir bei meinen kleinen Problem weiterhelfen. Bzw. Anregungen mir geben zur Lösung meines kleinem Problems.
Vielen Dank im Voraus.
derzeit versuche ich eine Fläche mit den Abmaßen 7x7 cm zu erstellen. Die Fläche soll mit einer bestimmten Auflösung DPI (Dots per Inch) abgespeichert werden.
In meinen Programm rechne ich die Länge (7cm) mal die Auflösung (300) durch die Länge von 2.54 cm. Im Ergebnis erhalte ich eigentlich 826 Pixel für die 7cm. Jedoch nach dem öffnen des gespeicherten Bildes in Paint liegt die DPI bei 96 (punkte pro Zoll) und das Bild ist anstatt 7x7 cm jetzt 21,85x21,85 cm groß.
Derzeit sieht mein Programm so aus:
from PIL import Image
# Größe des Bildes in cm
width_cm = 7
height_cm = 7
dpi = 300
# Größe des Bildes in Pixel berechnen
width_px = int( width_cm * dpi / 2.54)
height_px = int( height_cm * dpi / 2.54)
# Neues Bild erstellen
img = Image.new('RGB', (width_px, height_px), color=(0, 255, 255))
# Bild anzeigen und speichern
img.show()
filename = 'XXX'+'7x7.bmp'
img.save(filename)
Ich hoffe Ihr könnt mir bei meinen kleinen Problem weiterhelfen. Bzw. Anregungen mir geben zur Lösung meines kleinem Problems.
Vielen Dank im Voraus.