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.
Erstellen einer Fläche mit unterschiedlichen DPI Werten
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Und es könnte auch noch sein, dass sehr einfache Bildbearbeitungsprogramme die in den Metadaten angegeben DPI einfach ignorieren und sich nur die Pixeldaten anschauen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Code: Alles auswählen
img.save('test.png', dpi=(300.0, 300.0))
und in Google die Suchbegriffe "python create image with specific dpi" eingeben, hättest du doch auch können, oder?
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png