Meine Verwirrung wird noch einmal von folgendem Szenario unterstrichen:
1. Ich möchte eine Grafik erstellen die beim Ausdruck 5,90x9,10cm groß ist
2. Ich erstelle also in meinem Programm eine Grafik mit den Maßen 697x1075 Pixel. Die Grafik erhält nach der Speicherung laut Windows 96 DPI
2. In Photoshop erstelle ich die selbe Grafik mit den selben Maßen, aber bei DPI gebe ich 300 an
3. Ich öffne beide Grafiken in Paint und klicke auf DRUCKEN / SEITE EINRICHTEN. Dort gebe ich an das Paint nicht skalieren soll (also 100% Größe)
4. Beim Druck ist mein erstes Bild mit 96 DPI eine ganze DIN A4 Seite groß, während das zweite Bild aus Photoshop die perfekte Größe hat... 5,9 x 9,1 cm
Für mich ist das das erwartete Verhalten ... aber zur Erklärung:
Die Bilder auf dem PC sind ja alle in Pixel-Maßen. Die dpi-Angabe ist davon separat im Bild gespeichert und gibt lediglich die Anregung, wie groß das Bild später bei einem eventuellen Druck sein soll.
Also beim Druck wird geguckt: Ah ja, in dem Bild stehen 150 dpi drin, dass sollen wohl 150 Pixel von dem Bild auf einen Zoll skaliert werden. Irgendeine Skalierung findet da ja immer statt, weil beim Erstellen des Bildes meistens nicht klar ist, welche Auflösung das Ausgabemedium hat.
Um dein Bild nicht nur am Bildschirm, sondern auch auf dem Papier auf die gewünschte Größe zu bekommen, musst du einen passenden dpi-Wert im Bild speichern. Falls Delphi da nichts bereit stellt:
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Du kannst auch nachträglich die Bitmap (/was auch immer) Datei öffnen und den Wert schreiben.