# BufferedImages funktionieren nicht



## unknown_member (21. Jan 2007)

Ich möchte ein kleines Game programmieren und dafür brauche ich natürlich Bilder. Nun wollte ich fragen, mit welchem Element ich das am besten realisiere, also wegen Transparenz usw. Wie kann ich das dann machen?
Und auch wenn diese Frage oft genug gestellt wurde, wie bekomme ich (einfach) ein Bild in den Hintergrund? Die Bilder an sich liegen im Ordner, wo auch das Programm gestartet oder ausgeführt wurde.


thx, unknown_member


----------



## André Uhres (21. Jan 2007)

Versuch's mal mit "javax.imageio.ImageIO.read".
Hintergrund wofür?


----------



## unknown_member (21. Jan 2007)

Zum Beispiel für ein Menü.


----------



## unknown_member (21. Jan 2007)

André Uhres hat gesagt.:
			
		

> javax.imageio.ImageIO.read



Ich meinte, welches "Element", also zum Beispiel JButton, wobei dieser nicht transparent ist und auf einem Bild im Hintergrund nicht toll aussähe.


----------



## Tobias (21. Jan 2007)

SwingX ist meine Wahl für sowas. http://swinglabs.org/index.jsp

mpG
Tobias


----------



## unknown_member (21. Jan 2007)

Oh, mit solchen "Paketen"  kenn ich mich nicht aus, ich möchte lieber so einbinden, wie es in Java "schon drin" ist.


----------



## André Uhres (21. Jan 2007)

Erzähl erstmal was du eigentlich machen willst.


----------



## unknown_member (22. Jan 2007)

Also: Das Spiel soll so ähnlich wie "Volleyball X-Treme" heißen. In der Mitte ist ein Volleyballnetz, auf beiden Seiten ein je ein Spieler. Der rechte ist der Computergegner. Diese zwei Figuren müssen versuchen, den Ball auf die jeweils andere Seite mit dem "Kopf" der Figur zu stoßen. Man kann nach links und nach rechts und hüpfen.
Gleichzeitig gibt es auc sogenannte Powerups wie Raketen. Wenn man die einsammelt, kann man seinen Gegner zum Beispiel abschießen. Das Ganze soll aber nicht irgendwie brutal werden, nur eine kleine Explosion und dann wird ein Leben abgezogen und eine neue Partie beginnt.

Damit ich das auch richtig anfange, wollte ich fragen, wie ich am Besten Bilder einbaue.


_____
MfG, unknown_member


----------



## The_S (22. Jan 2007)

Bei so einer geringen Menge an Bildern ist es durchaus möglich alle benötigten bilder beim Programmstart in verschiedene BufferedImages via ImageIO zu laden. Transparenz kann dein BufferedImage auch darstellen  .


----------



## thE_29 (22. Jan 2007)

Also diese Seite: http://swinglabs.org/index.jsp ist für mich ein Fehler und keine Internetseite 

Da geht ja mal überhaupt GAR NIX! Bei Download kommt ne jsp Exception und wenn ich auf Screenshots gehe kommt ne java app die nix tut..

Getestet in IE6 und FF2.0...


----------



## unknown_member (22. Jan 2007)

Wie funktioniert das mit den BufferedImages, das scheint mir schon interessant.


----------



## unknown_member (22. Jan 2007)

Wie findet ihr eig die Idee?


----------



## The_S (22. Jan 2007)

Wie geht WAS mit dem BufferedImage?

Idee hört sich nach nem BlobbeyVolley Klon + Gimmicks an


----------



## unknown_member (22. Jan 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Idee hört sich nach nem BlobbeyVolley Klon + Gimmicks an



Ja, so was ähnliches solls auch werden... :wink: 



			
				Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Wie geht WAS mit dem BufferedImage?



Na, wie man das überhaupt macht... Ein Link würde mir schon reichen...


----------



## The_S (22. Jan 2007)

Wie man was macht? Eine Bilddatei in ein BufferedImage laden, auf ein BufferedImage zeichnen, ein BufferedImage darstellen, ...?

Dein Link:

http://java.sun.com/j2se/1.5.0/docs/api/


----------



## unknown_member (22. Jan 2007)

lol  

Ja, das meine ich. Aber mit Links meine ich zum Beispiel GalileoComputing oder andere gute _deutsche_ Seiten.


----------



## Leroy42 (22. Jan 2007)

unknown_member hat gesagt.:
			
		

> gute _deutsche_ Seiten.



Noch 'n Anwärter auf das kürzeste Paradoxon.  :shock: (  )


----------



## The_S (22. Jan 2007)

Lern Englisch, sonst kommste net weiter. Forensuche hiflt da auch schon. Aber weil dus bist:

Ein Bild in ein BufferedImage laden:


```
BufferedImage img = ImageIO.read(new File("pfad/zum/bild.png"));
```

Ein BufferedImage bearbeiten:


```
img.setRGB(x, y, rgb);
```

BufferedImage darstellen:


```
public void paintComponent(Graphics g) {
   g.drawImage(img, 0, 0, this);
}
```


----------



## unknown_member (22. Jan 2007)

ah, danke! Falls ich weiter bin, posts ich!


----------



## unknown_member (22. Jan 2007)

ähm, falls euch ein passender Name (oder passenderer) Name einfällt, könnt ihr ihn posten, wäre dankbar...


----------



## André Uhres (22. Jan 2007)

Jan


----------



## Leroy42 (22. Jan 2007)

André Uhres hat gesagt.:
			
		

> Jan


*LOL*

Gar nicht so einfach, dahinter zu kommen, wie du das gemeint hast!  :shock: 

Hab's via Google aber schließlich doch noch 'rausbekommen.  :lol:


----------



## Tobias (22. Jan 2007)

> Also diese Seite: http://swinglabs.org/index.jsp ist für mich ein Fehler und keine Internetseite



Jo, die Webseite ist (mal wieder) kaputt. Wird vermutlich wieder Wochen dauern, bis sie wieder läuft ... Aber die Bibliothek ist gut. Enthält viele schöne Gimmicks - Painter, JXCollapsiblePane, einen JTable-JTree-Mashup etc. Hat mir schon einige Zeit gespart.

mpG
Tobias


----------



## unknown_member (22. Jan 2007)

André Uhres hat gesagt.:
			
		

> Jan



Ein schwungvoller Name! :wink:


----------



## unknown_member (22. Jan 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Lern Englisch, sonst kommste net weiter. Forensuche hiflt da auch schon. Aber weil dus bist:
> 
> Ein Bild in ein BufferedImage laden:
> 
> ...



Zurück zum Thema: Bei mir wird bei den Codeteilen oben angezeigt, dass "BufferedImage" nicht existiert...


----------



## JPKI (22. Jan 2007)

Du must ja auch das Package

java.awt.image

importieren, denn BufferedImage befindet sich darin, nicht
wie zu erwarten in java.awt....


----------



## unknown_member (22. Jan 2007)

Jetzt wird imageIO nicht gefunden...


----------



## JPKI (22. Jan 2007)

Du importierst ja auch java.awt.image UND javax.imageio oder??


----------



## The_S (23. Jan 2007)

Wobei das hier



			
				Leroy42 hat gesagt.:
			
		

> Hab's via Google aber schließlich doch noch 'rausbekommen.  :lol:



fast noch mal geiler is (wenn man den Kontext kennt), als das hier



			
				André Uhres hat gesagt.:
			
		

> Jan



:lol: :autsch:


----------



## André Uhres (23. Jan 2007)

@Hobbit_Im_Blutrausch: das ist aber schon kalter Kaffee
http://www.java-forum.org/de/viewtopic.php?p=251743#251743


----------



## The_S (23. Jan 2007)

Weiß ich doch, deshalb der Zusatz "Wenn man den Kontext kennt". 

Meinte damit die Tatsache, dass er nicht wollte, dass jemand weiß, wie er heißt. Dann postet er seinen Code mit seinen Namen und man kann ihn absofort bei Google finden. Und dann kommt Leroy42, hat kA von nix, gibt halt ma auf blöd den Namen bei Google ein und kommt ausgerechnet auf diesen Link.

Diese Verkettung find ich absolut genial  .


----------



## André Uhres (23. Jan 2007)

Achso, ja das empfand ich auch so. 
unknown-member scheint das auch gar nicht zu stören.


----------



## unknown_member (24. Jan 2007)

Nö, ist ja auch nicht schlimm.

Zum Beispiel bei meinem Tutorial steht mein Name ja auch...


----------



## unknown_member (24. Jan 2007)

Zurück zum eigentlichen Thema:

Es erscheint jetzt:

```
unreported exception java.io.IOException; must be caught or declared to be thrown
    back = ImageIO.read(new File("Logo.gif"));
                       ^
```


kA, warum.


----------



## L-ectron-X (24. Jan 2007)

```
try {
   back = ImageIO.read(new File("Logo.gif"));
}
catch(IOException e) {
   e.getMessage();
}
```


----------



## unknown_member (24. Jan 2007)

Danke, so klappts!


----------



## unknown_member (24. Jan 2007)

So hab ich dann angezeigt:

```
public void paint(Graphics g) {
    super.paint(g);
    g.drawImage(back, 30, 30, this);
   }
```


----------

