Servlet getWidth(); - getHight(); Problem

Diskutiere getWidth(); - getHight(); Problem im Web Tier Bereich.
P

purzel

Hallo,

ich habe vor in einem Servlet Bilder zu skalieren. Nun die Methode habe ich schon, aber leider bekomme ich immer eine Exception:

[WR]
method getWidth in class java.awt.Image cannot be applied to given types
required: java.awt.image.ImageObserver
found: no arguments

method getHight in class java.awt.Image cannot be applied to given types
required: java.awt.image.ImageObserver
found: no arguments
[/WR]

Meine Methode sieht wie folgt aus (Auszug):

Java:
// lesen
        Image image = new ImageIcon(load_image + profil_image).getImage();

        // skalieren
        int newWidth = image.getWidth()/2;
        int newHeight = image.getHeight()/2;
        image = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
Wenn ich
Code:
int newWidth = image.getWidth(null)/2
schreibe kommt folgender Fehler:

[WR]
java.lang.IllegalArgumentException: Width (0) and height (0) must be non-zero
[/WR]

Wer kann mir auf die Sprünge helfen?

LG Purzel
 
S

SlaterB

dass du null als Observer angeben kannst hast du ja schon selbst herausgefunden,
wenn du dazu wirklich mehr wissen willst, kannst du doch offensichtlich ImageObserver & Co. nachschlagen,
so gehts aber wahrscheinlich

der Code müsste mit richtigen Bild funktionieren, Breite 0 spricht für ein nicht vorhandenenes Bild,
was ist 'load_image + profil_image' zusammen?
erstelle eine String-Variable, gib diese aus, erstelle ein File-Objekt, prüfe deren exists()-Methode,
gibt den CanonicalPath aus, kürze den Path auf das Parent-Verzeichnis, erstelle dazu ein File, liste die enthaltenen Dateien,
prüfe ob dein Bild darunter ist

das Bild ist nicht zufällig in einem Jar versteckt?

kleine Detail-Info wäre noch, ob image.getWidth(null) -1 ist, was wirklich für nicht gefunden steht,
oder 0, dann wäre es wohl komplizierter,
/2 geteilt ist beides 0 ;)
 
F

Fant

Die Methoden getWidth und getHeight der (abstrakten!) Klasse Image erwarten als Argument eine ImageObserver-Instanz, du aber übergibst nichts!

Verwende statt Image mal BufferedImage

Gruß Fant
 
P

purzel

dass du null als Observer angeben kannst hast du ja schon selbst herausgefunden,
wenn du dazu wirklich mehr wissen willst, kannst du doch offensichtlich ImageObserver & Co. nachschlagen,
so gehts aber wahrscheinlich

der Code müsste mit richtigen Bild funktionieren, Breite 0 spricht für ein nicht vorhandenenes Bild,
was ist 'load_image + profil_image' zusammen?
erstelle eine String-Variable, gib diese aus, erstelle ein File-Objekt, prüfe deren exists()-Methode,
gibt den CanonicalPath aus, kürze den Path auf das Parent-Verzeichnis, erstelle dazu ein File, liste die enthaltenen Dateien,
prüfe ob dein Bild darunter ist

das Bild ist nicht zufällig in einem Jar versteckt?

kleine Detail-Info wäre noch, ob image.getWidth(null) -1 ist, was wirklich für nicht gefunden steht,
oder 0, dann wäre es wohl komplizierter,
/2 geteilt ist beides 0 ;)
Danke für den Hinweis! Ich hatte in der Variable "load_image" einen Verzeichnistrenner vergessen und dadurch wurde das Bild nicht gefunden. *schäm* Ich habe zusätzlich noch eine Abfrage eingebaut, die prüft, ob das Bild existiert. Danke!!

LG purzel
 
Thema: 

getWidth(); - getHight(); Problem

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben