Grafikhöhe ermitteln

Hallo,

ich möchte die Höhe einer Grafik in cm oder mm ermitteln. Ich bekomme die Höhe in Pixeln.

Die Formel zur Umrechnung kenne ich, aber welche DPI benutze ich für die Umrechnung? Reicht die DPI der Grafik? Sprich: DPI der Grafik auslesen und dann umrechnen?

Momentan handelt es sich nur um jpg-grafiken.

Würde mich über Anregungen freuen!

Hi,
Frage 1: Welche Sprache benutzt du?
Frage 2: Welche Technologie, d.h. WPF, WinForms oder Konsole
Denn in WPF kannst du dir die Höhe des Image-Controls in cm ausgeben lassen und daraus auf die Höhe des Bidles schließen.
Lg der einzigware

Hallo,

ich möchte die Höhe einer Grafik in cm oder mm ermitteln. Ich
bekomme die Höhe in Pixeln.

Geht nicht, da du nicht weißt:

  • Mit welcher Auflösung der Monitor betrieben wird
  • Welche Abmessungen der Monitor hat

Hi,

Hallo

Frage 1: Welche Sprache benutzt du?

Java

aber ich dachte das sei unerheblich, weil man doch in den meisten Programmiersprachen das errechnen bzw. ermitteln muss.

Geht nicht, da du nicht weißt:

  • Mit welcher Auflösung der Monitor betrieben wird
  • Welche Abmessungen der Monitor hat

Hmm ok, aber ich weiß nicht ob das in meinem Fall unerheblich ist.

Also ich versuche mit Apache FOP ein PDF zu erzeugen, wo in der Kopfzeile ein Bild ist.

So weit ich weiß, ist die Kopfzeile (region-before) nicht dynamisch, also man muss selbst die Größe festlegen.

Da ich die Größe des Bildes nicht wissen werde, muss ich sie ermitteln.

Ich lese das Bild in den Speicher ein, bekomme dann die Pixel-Anzahl von Höhe und Breite.

Bis jetzt hat das doch noch nichts mit dem Monitor zu tun oder?

Hi,
Frag das mal im Javabrett oder lass den Artikel ins Javabrett verschieben.
Du kannst das löse indem du die Auflösung nimmst und dir dann ausrechnest wie viel Pixel 1cm ist. Das heißt das du für jede Auflösung neue Werte berechnen musst.
Lg der einzigware

Also muss ich die Auflösung des Gerätes haben?

Mehr wollte ich eigentlich nicht dazu wissen.

Auf dem Tisch vor meiner Nase stehen 2 Flachbildschirme von 2 Computern.
Beide haben eine Auflösung von 1280*1024 Pixeln.
Der eine ist aber um Pi*Daumen um 2cm höher und um 3 cm breiter (die aktive Anzeigefläche), so wird das also nichts.
Um einen Wert wie viele Pixel ein cm hat wirst du nicht herumkommen, und der unterscheidet sich eben von Monitor zu Monitor

Auch in einem Dokument bzw. einem PDF?

Weis ich noch nicht, muss ich morgen mal messen.

Aber: Wenn man in Word oder OpenOffice den Zoom-Faktor auf 100% stellt (also so, dass das ganze in Originalgröße angezeigt wird) und man hällt da jetzt ein echtes DIN-A4 Blatt hin stimmt das ums verrecken nicht. Hab das schon bei Win+Word, Win+OpenOffice & Linux+OpenOffice festgestellt.

Es würde mich also auch nicht wundern, wenn die Bildergröße bei PDFs nie genau gleich ist… (gleich ist bei mir: Differenz

ich möchte die Höhe einer Grafik in cm oder mm ermitteln. Ich
bekomme die Höhe in Pixeln.

Die Formel zur Umrechnung kenne ich, aber welche DPI benutze
ich für die Umrechnung? Reicht die DPI der Grafik? Sprich: DPI
der Grafik auslesen und dann umrechnen?

Momentan handelt es sich nur um jpg-grafiken.

das hier war natuerlch wichtig:

Also ich versuche mit Apache FOP ein PDF zu erzeugen, wo in
der Kopfzeile ein Bild ist.

ich gehe davon aus, dass der fop die bilder nicht auf eine bestimmte aufloesung resampled.

die grafik muss ins layout passen.

dann wahlst du die groesse so, dass sie das seitenverhaeltnis der grafik beibehaelt und deinem layout entspricht. die grafik wird dann bei der ausgabe in die von dir gegebene groesse eingepasst.

ich gehe davon aus, dass der fop die bilder nicht auf eine
bestimmte aufloesung resampled.

Nein, wenn ich das Bild so einlese, ohne irgendwelche Größenangaben zu machen (z.B. 5x5cm) dann erscheint es im PDF genau so, als wenn du das Bild mit einem Bildbearbeitungsprogramm öffnen würdest. Druckst du beide aus, sind sie identisch.

dann wahlst du die groesse so, dass sie das seitenverhaeltnis
der grafik beibehaelt und deinem layout entspricht.

Da ist ja der Knackpunkt. Die Größe des Bildes selbst ist nicht so schlimm, nur muss ich für die Kopfzeile die Höhe angeben, ansonsten überlappt der Body bzw. der Inhalt mit der Kopfzeile (Doof gemacht von denen, sonst hätte ich das Problem überhaupt nicht)

Ein Dokument in FOP ist so aufgebaut:

region-body-before

Aber: Wenn man in Word oder OpenOffice den Zoom-Faktor auf
100% stellt (also so, dass das ganze in Originalgröße
angezeigt wird) und man hällt da jetzt ein echtes DIN-A4 Blatt
hin stimmt das ums verrecken nicht. Hab das schon bei
Win+Word, Win+OpenOffice & Linux+OpenOffice festgestellt.

Hmm also wenn ich im PDF zoome dann habe ich da noch kein Unterschied feststellen können. Es geht ja im Endeffekt nur um das was du später ausdruckst.

Wenn ich das PDF ausdrucke, dann soll das Bild da drauf genauso groß sein wie das Bild als wenn ich es mit Paint ausdrucke. Und das hat er bisher immer gemacht. Des wegen gehe ich davon aus, dass es da nicht so gravierende Unterschiede geben wird (Hoffe ich jedenfalls)

ich gehe davon aus, dass der fop die bilder nicht auf eine
bestimmte aufloesung resampled.

Nein, wenn ich das Bild so einlese, ohne irgendwelche
Größenangaben zu machen (z.B. 5x5cm) dann erscheint es im PDF
genau so, als wenn du das Bild mit einem
Bildbearbeitungsprogramm öffnen würdest. Druckst du beide aus,
sind sie identisch.

ich weiss nicht, ob die 2 saetze schluessig sind, entnehme dem aber, dass vermutlich das bild im pdf mit der dpi-angabe aus der bilddatei gesetzt wird.

dann wahlst du die groesse so, dass sie das seitenverhaeltnis
der grafik beibehaelt und deinem layout entspricht.

Da ist ja der Knackpunkt. Die Größe des Bildes selbst ist
nicht so schlimm, nur muss ich für die Kopfzeile die Höhe
angeben,

meine aussage war:
du kannst jede beliebeige hoehe angeben, abhaengig davon, wie deine seite aussehen soll. du solltest nur als untergrenze fuer die dpi deine gewuenschte ausgabeaufloesung einbeziehen. das kann fuer ein screen-pdf z.b. 72dpi sein, fuer druck z.b. 150 od. 300, wenn du jedoch gerasterte strichzeichnungen darstellen moechtest koennten das z.b. 1200dpi sein.

das ist aber kein programmier- sondern ein grafikproblem.