PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grösse und Ausflösung von BMP



alterkaempfer
17-06-2003, 07:54
Hallo Leute,

Hat Jemand eine Source oder ein API mit dem ich die Auflösung und Grösse(cm oder Pixel) eines BMP-Files ermitteln kann in JAVA

Danke,

mfg alterkaempfer

peschmae
17-06-2003, 08:24
naja, die Grösse gibts aus einer der von der Klasse Image abgeleiteten Klasse mit der methode getWidth()/getHeight()

ich glaube nicht, dass die BMPs oder irgendwo die Auflösung speichern
auf jeden fall hab ich dazu nichts in der apidoc gefunden

MfG Peschmä

alterkaempfer
17-06-2003, 08:33
Habe es schon mit der Klasse Image probiert, ist aber nicht gegangen da Bitmaps nicht unterstützt werden, sondern nach meinem Wissen nur
JPG`s und GIF`s.

Suchte auch im Google und im Java-Forum(forum.java.sun.com (http://forum.java.sun.com) )
aber auch ohne Ergebnis.

Den einzigen brauchbaren Code hab ich auf http://www.javaworld.com/javaworld/javatips/jw-javatip43.html
gefunden dieses Programm gibt mir aber nur die Grösse des Bitmaps
in Pixeln aus ohne die Auflösung. Ohne die Auflösung kann ich die Grösse in CM
aber nicht ausrechnen.

mfg

alterkaempfer

bischi
17-06-2003, 12:18
Image Img = Toolkit.getImage("String Pfad");

Sollte Bild (auch BMP soweit ich weiss) einlesen können. Danach wie oben beschrieben, getWidth(),... . Die Auflösung bei BMP ist soweit ich weiss sowieso 72 dpi.

MfG Bischi

alterkaempfer
17-06-2003, 12:29
Hab`s auf diese Art auch schon probiert aber
Image.getWidth() und Image.getHeight haben immer nur "-1" zurückgegeben
:confused:

Wie täte man es in C/C++ Lösen ???

mfg
alterkaempfer

bischi
17-06-2003, 13:39
Ja logisch, denn du musst warten, bis das Bild fertig geladen ist! (sonst immer -1!!!!!)

Hier der benötigte Code:

-------------------------------------
img = getToolkit().getImage("Bild.bmp");
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 0);

try {
mt.waitForAll();
} catch (InterruptedException e) {}
-------------------------------------

MfG Bischi

PS: Unbedingt mal das JavaHandbuch (gratis unter www.javabuch.de) lesen, und weniger dumme Fragen stellen :p

peschmae
17-06-2003, 13:47
Original geschrieben von alterkaempfer
dieses Programm gibt mir aber nur die Grösse des Bitmaps
in Pixeln aus ohne die Auflösung. Ohne die Auflösung kann ich die Grösse in CM
aber nicht ausrechnen.


Bitmaps speichern weder Bildgrösse in cm noch Auflösung zwischen. Nur die Breite/Höhe in Pixeln kannst du deshalb auslesen. Den Rest musst du halt vernünftig anzupassen versuchen - für Bildschirm ~72dpi (für einige Notebooks einiges mehr) und für den Druck etwa 300dpi

MfG Peschmä

riemer
17-06-2003, 13:54
Hallo,

google liefert z.B. diesen Link:
http://www.fh-wedel.de/~bek/asm/data/bmp.txt

Da ist der Header genau beschrieben... prinzipiell kann man bei Bitmaps auch die Auflösung angeben.


Viele Grüße, Tilo

peschmae
17-06-2003, 14:11
prinzipiell...

MfG Peschmä

alterkaempfer
17-06-2003, 14:29
Danke für die Antworten,

Hab`s jetzt gelöst indem ich den Header ausgelesen hab.

@bischi Hab schon 2 JAVA-Bücher gelesen und auch ungefähr den gleichen Code schon vorher probiert aber läuft bei mir leider nicht.

mfg

alterkaempfer

bischi
18-06-2003, 08:56
Also bei mir läuft obenstehender Code problemlos (x-Mal ausgetestet, da ich ihn sowohl für ein Programm, als auch für eine Arbeit brauche).

Poste einfach mal deinen Quellcode, ich schau ihn mir mal an...

MfG Bischi

peschmae
18-06-2003, 10:55
Original geschrieben von alterkaempfer
@bischi Hab schon 2 JAVA-Bücher gelesen und auch ungefähr den gleichen Code schon vorher probiert aber läuft bei mir leider nicht.


naja, ich glaub die Quantität ist eher unwichtig ;)
Qualität bringts viel mehr...

MfG Peschmä

SeeksTheMoon
18-06-2003, 13:05
Du solltest Dir mal die Java Advanced Image API ansehen:
http://java.sun.com/products/java-media/jai/index.html

ich bin mir sicher, dass es damit auf jeden Fall geht.


JAI Image I/O Tools provides reader, writer, and stream plug-ins for the Java Image I/O Framework and Image I/O-based read and write operations for Java Advanced Imaging. Reader-writer plug-ins are supplied for the BMP, JPEG, JPEG 2000, PNG, PNM, Raw, TIFF, and WBMP image formats. The supplied streams and associated service providers use the New I/O APIs. Please refer to the JAI Image I/O Tools API documentation for more information:
http://java.sun.com/products/java-media/jai/forDevelopers/jai-imageio-1_0-rc-docs/index.html