Java:
private BufferedImage[] loadpics(String path,int pics) throws IOException // Methode bekommt Speicherort und Anzahl der Einzelbilder übergeben
{
BufferedImage[] a = new BufferedImage[pics]; // erzeugen : in der Größe dr Einzelbilder
BufferedImage source = null;// Image zum Laden des ganzen Bildes
URL pic_url = getClass().getClassLoader().getResource(path); // ermitteln der URL mit Speicherort
try{source = ImageIO.read(pic_url);} // Laden des Bildes
catch(IllegalArgumentException e){ System.err.println("Leseprobleme");}
for(int i=0;i<pics;i++)
{ // getSubImage() -->Quellbild wird in die Anzahl der angegebenen Einzelbilder zerlegt
a[i] = source.getSubimage(i*source.getWidth()/pics, 0,source.getWidth()/pics, source.getHeight());
}
return a;
}
private void initialisieren() throws IOException
{
last = System.nanoTime(); // Ausgabe der Zeit, wie lange die Methode zum ausführen braucht
actors = new Vector<ObjekteBewegen>(); // Vectorobjekt
BufferedImage[] heli = this.loadpics("pics/heli.gif",4);
copter = new ObjekteBewegen(heli,400,300,100,this); // Bildwechselrate von 100ms
actors.add(copter); // an den Vector packen
Thread t = new Thread(this);
t.start();
}
Hallo Leute, ich möchte gerne in meinen Frame ein Bild anzeigen lassen. Dazu nutze ich BufferedImage um, ein Array von Bildern als Animation zurückzugeben. Nun rufe ich loadpics auf .
Loadpics ist gefült mit Pfadangabe und mit der Angabe der Bilderanzahl. Ich möchte auch gerne alle mit einmal laden und später die Unterbilder, mit subimage!
Ich habe mein BufferedImage mit null initialisiert. Ich schätze auch , dass darin mein Problem liegt. Weiß einer wie ich es anders machen kann?
Ich bin dabei ein Tutorial nach zu bauen, um daran zu lernen.
gruß spin
Zuletzt bearbeitet von einem Moderator: