Hi,
Ich lese ein .tga Bild in mein Java-Programm ein. Es handelt sich dabei um eine Tilepalette, die unter anderem Bilder für JButtons enthält.
Das Problem ist, dass ich von dieser Tilepalette natürlich nur einzelne Bilder brauche, das TGA-Bild wird aber als "Image" zurückgegeben!
Mir ist aber nur die Methode subImage() von BufferedImage bekannt.
Der JButton kann soweit ich weiss ja nur ImageIcons verwenden.
Mit anderen Worten, das ganze sieht so aus:
Häufig zu 75% sag ich einfach mal kommt nur ein schwarzes Bild zurück. Das ganze ist sehr Fehler anfällig und nicht gerade schön!
Kennt da jmd. eine bessere Methode?
Vielen vielen Dank schonmal
PS: Die Bilder auf der Festplatte MÜSSEN im tga-Format bleiben! Ein Duplikat auf der Festplatte mit anderer Endung möchte ich nicht haben (zuviel)!
Ich lese ein .tga Bild in mein Java-Programm ein. Es handelt sich dabei um eine Tilepalette, die unter anderem Bilder für JButtons enthält.
Das Problem ist, dass ich von dieser Tilepalette natürlich nur einzelne Bilder brauche, das TGA-Bild wird aber als "Image" zurückgegeben!
Mir ist aber nur die Methode subImage() von BufferedImage bekannt.
Der JButton kann soweit ich weiss ja nur ImageIcons verwenden.
Mit anderen Worten, das ganze sieht so aus:
Java:
Label observer = new Label();
Image image = Jimi.getImage( file );
int width = image.getWidth(observer);
int height = image.getHeight(observer);
BufferedImage bfImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
bfImage.getGraphics().drawImage(image, 0, 0, observer);
ImageIcon img = new ImageIcon( bfImage.getSubimage(x, y, w, h) );
return img;
Häufig zu 75% sag ich einfach mal kommt nur ein schwarzes Bild zurück. Das ganze ist sehr Fehler anfällig und nicht gerade schön!
Kennt da jmd. eine bessere Methode?
Vielen vielen Dank schonmal
PS: Die Bilder auf der Festplatte MÜSSEN im tga-Format bleiben! Ein Duplikat auf der Festplatte mit anderer Endung möchte ich nicht haben (zuviel)!