Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Die Abmessung (in cm) und Auflösung eines Bildes ermitteln? (https://www.delphipraxis.net/137991-die-abmessung-cm-und-aufloesung-eines-bildes-ermitteln.html)

jus 1. Aug 2009 17:21


Die Abmessung (in cm) und Auflösung eines Bildes ermitteln?
 
Hallo,

ich versuche ein Programm zu schreiben, das Bilddateien(derzeit JPG, TIF, BMP, PSD) gebündelt ausdrucken kann. Später möchte ich noch weitere Bildformate unterstützen.
Zum Reinladen des Bildes auf einen TImage verwende ich die Vampyre Imaging Library. Die funktioniert ziemlich einfach und problemlos. Das Problem ist, dass ich derzeit keine Möglichkeit habe, die Bildgröße, sprich Bildbreite und Bildhöhe, in Zentimeter abzufragen, so wie es ursprünglich für das Bild angedacht war.
Der aktuelle Stand meiner Internetsuche ist, dass man anscheinend sich jedesmal mit dem jeweiligen Dateiformat auseinandersetzen muß, damit man die Abmessungen des Bildes in Zentimeter bekommt. :(

Gibt es eine allgemeine Methode die Abmessung in Zentimeter von einem Bild zu ermitteln? Falls die Beschäftigung mit dem Dateiformat die einzige Möglichkeit ist die Bildabmessung zu bekommen, gibt es eine gute Delphibibliothek die viele Formate abdeckt?

Lg,
jus

anse 1. Aug 2009 18:17

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
Mußt du dafür nicht die DPI eines Bildes feststellen (wie auch immer das gehen soll)? Soweit ich weiß kann man mit einer DPI/Pixel Multiplikation auf die Originalgröße schließen.

jus 1. Aug 2009 18:45

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
Ja, über die Auflösung bekomme ich auch die Breite in Zentimeter. Habe ich die Breite bekomme ich auch die horizontale Auflösung. Die Frage ist halt nur wie bekomme ich die dpi oder die Breite in Zentimeter? :gruebel:

Lg,
jus

Klaus01 1. Aug 2009 21:11

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
Zitat:

Zitat von jus
Das Problem ist, dass ich derzeit keine Möglichkeit habe, die Bildgröße, sprich Bildbreite und Bildhöhe, in Zentimeter abzufragen, so wie es ursprünglich für das Bild angedacht war.
...
Gibt es eine allgemeine Methode die Abmessung in Zentimeter von einem Bild zu ermitteln? Falls die Beschäftigung mit dem Dateiformat die einzige Möglichkeit ist die Bildabmessung zu bekommen, gibt es eine gute Delphibibliothek die viele Formate abdeckt?

Guten Abend Jus,

die Ausmaße eines Bildes in cm stecken sind nicht in dem Bildformat (jpg,tiff) gespeichert.
Die Ausmaße in cm sind immer abhänging davon wo Du das Bild ausgebenen willst.
Das Ausgabegerät unterstützt eine gewisse Auflösung.
Bei Druckern ist sie höher 300 bzw. 600 dpi (dots per Inch) auf dem Bildschirm
sind es in der Regel 72 dpi.

Wenn Du nun ein Bild mit einer "Kantenlänge" von 1000 Pixeln (dots) hast
wird das Bild auf dem Bildschirm 35,27 cm (1000/72 * 2.54) lang sein
auf dem Drucker mit 600 dpi ist das Bild nur 4,23 cm groß.

Grüße
Klaus

jus 1. Aug 2009 22:02

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
Hallo Klaus01,

die Problematik der Ausgabe zum Drucker oder Monitor mit unterschiedlicher Auflösung ist mir bewußt. Aber ich bin mir ziemlich sicher, dass die von Anwender ursprünglich vorgegebenen Abmessungen, in welcher Form auch immer, in einem JPG oder TIF gespeichert sind.
z. B. der Photoshop kann die angedachten Abmessungen des Bilder auslesen.

Lg,
jus

Luckie 1. Aug 2009 22:30

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
Was sind denn die "angedachten" Abmessungen?

SirThornberry 1. Aug 2009 22:35

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
Die realen Abmessungen sind eigentlich immer aus der DPI-Zahl zu entnehmen. Wenn jemand ein Document mit 300 dpi einscannt so ist es unabhängig von der Darstellung auf Bildschirm etc. immer so das beim Drucken (egal welche DPI-Zahl der Drucker hat) das Bild entsprechend zur Auflösung des Druckers scaliert wird so das wieder die richtige Größe dabei raus kommt. Und auch wenn eine Grafikabteilung ein Bild mit 1200 DPI anlegt bezieht sich da rein gar nichts davon auf die Darstellung am Bildschirm sondern die 1200 DPI sind dann die Angabe wie groß das Bild nach dem Drucken ist.

jus 1. Aug 2009 23:17

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
@Luckie
OK "angedachten Abmesssungen" ist vielleicht bisschen blöd formuliert. Besser wäre wahrscheinlich "vorgegebene Auflösung" z.B. Breite 10,1cm Länge 15cm

@SirThornberry
Ich schließe mich der Meinung voll an, ich denke nämlich auch, dass die Abmessungen in irgendeiner Form in der JPG/TIF/BMP/... Datei gespeichert sind. Damit wären wir der wieder fast bei der ursprünglichen Frage:
Gibt es gute eine Bibliothek für die Ermittlung der Auflösung, ohne sich jedesmal mit der Formatdefinition auseinandersetzen zu müssen?

lg,
jus

Luckie 2. Aug 2009 01:12

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
Im Bitmap-Format sind sie bestimmt nicht gespeichert, dazu brauzchst du dir ja nur mal den Bitmap Header angucken.

Medium 2. Aug 2009 01:54

Re: Die Abmessung (in cm) und Auflösung eines Bildes ermitte
 
Im JPEG auch eher nicht, ausser evtl. in Exif Abschnitten. Formate die speziell für DTP entwickelt wurden, wie z.B. das Photoshop eigene, evtl. auch TIFF sehen solche Angaben schon eher vor - es gibt aber keinen Standard nach dem man für alle Formate in etwa gleich da dran kommt, zumal es auch optionale Angaben sein könnten. Du müsstest also entweder eine Loader-Lib finden die das für die entsprechenden Formate leistet, oder aber du legst selbst Hand an und wühlst in den Files. Der Regelfall dürfte allerdings sein, dass solche Angaben nicht hinterlegt sind.

Wenn du die Angaben dann aber dennoch mal hast, und diese in metrischer oder imperialer Einheit vorliegen, so kannst du Windows die Umrechnerei mittels SetMapMode() erledigen lassen. (DPI lassen sich ja auch leicht in die beiden o.g. Darstellungen umrechnen.)

Wenn du aber wie z.B. bei BMPs überhaupt keine Informationen ausser der absoluten Auflösung hast, dann MUSS irgend wer von Hand eine Zielgröße vorgeben um ein wohl definiertes Ergebnis zu erzielen.


Und am Rande: Die 72 DPI für Monitore sind auch eher ein grober Schätzwert - eher eine Richtgröße. Wie viel er nun wirklich genau macht bekommt man noch am ehesten heraus in dem man den User mit Linieal an den Bildschirm zitiert. Möglicherweise liefern neuere Bildschirme auch über die Datenleitung (mir fällt gerade ihr genauer Name nicht mehr ein) solche Infos, ob wie und wo man diese dann aber Abfragen kann weiss ich leider nicht. Zumal das auch wenn eher bei neueren Bildschirmen, und dann auch eher in gehobener Preisklasse implementiert ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz