# Höhe und Breite von Bildern?



## yogort.java (29. Mai 2008)

Hallo

ich habe folgendes Problem, ich würde gerne von einem Bild im Format jpeg oder andere, die Höhe und die Breite auslesen, um sie entspechend zu skalieren. Ich bekomme dabei immer den Wert "-1" zurückgeliefert, was nicht so ganz stimmt ^^

Hier mal mein kleines Codeschnipselchen:


```
public class BilderTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		

                // Image lesen
                ImageIcon img = new ImageIcon("Logo2.bmp");
		int w = img.getIconHeight();
		int h = img.getIconWidth();
		
                // Werte ausgeben
                System.out.print(w); // <- hier bekomm ich den Wert -1 zurückgeliefert :(
                System.out.print(h); // <- hier auch :(
		
                // nächster Versuch
		Image image = Toolkit.getDefaultToolkit().getImage("Logo2.bmp");
		int height = image.getHeight(null);
		
                // funktioniert auch nicht ^^
                System.out.print(height); // <- mit Hilfe des Toolkit bekomm ich leider auch nur eine -1 :(
		
	}

}
```

Weiß wer wie man das richtig macht, ich wäre sehr dankbar, weil ich mich schon mehrere Stunden vergeblich damit rumgeplagt habe und immer noch keine Lösung gefunden habe 

Grüßle


----------



## DamienX (29. Mai 2008)

Wenn du in einer IDE arbeitest (Eclipse etc.) überprüf mal deinen Arbeitspfad...

wenn die Datei nicht im Arbeitspfad liegt wird er die Datei nicht finden...


----------



## The_S (29. Mai 2008)

Lad die Bilder mal über ImageIO, weil bei den anderen Methoden benötigst du evtl. (hab das auch nicht mehr so genau im Kopf) einen MediaTracker. 

Kommt es zu Fehlermeldungen?


----------



## yogort.java (29. Mai 2008)

k vielen vielen Dank für die schnelle Hilfe!
Also die Datei konnte er lesen was dieser Block beweißt:


```
File datei = new File("Logo2.bmp");
		if (datei.exists() && datei.canRead()) {
			System.out.println("Datei konnte gelesen werden");
		}
```

aber mit dem ImageIO "Dingens" funktioniert es wunderbar


```
try {
			Image ico = ImageIO.read(datei);
			System.out.print(ico.getHeight(null)); // <- hier kommt jetzt die tatsächliche Höhe zurück, supi :)
			
			
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
```

Also vielen vielen Dank!!!!!!

Grüßle


----------



## The_S (29. Mai 2008)

Dann lags am "Nichtverwenden" eines MediaTrackers. Kannst dir ja der Vollständigkeit-halber ma angucken.


----------

