jME3: awt.Image <-> jME3.Image

thewulf00

Bekanntes Mitglied
Hallo,

ich versuche gerade, ein BufferedImage als Textur zu verwenden und finde einfach keinen Weg. Wenn man danach googled und etwas tiefer eintaucht, dann findet man immer nur Referenzen zu einer älteren jME-Version.

Also: Wie kann ich ein Bild, das mir in Form eines BufferedImage vorliegt, in ein jME3.Texture überführen? (Oder in jME3.Image)

Weitere Frage: Wie geht es umgekehrt? Ich habe eine Textur vorliegen und möchte sie in ein BufferedImage überführen. Ich habe bisher nur den Umweg über [c]Screenshots.convertScreenShot(tex.getImage().getData(0), bufferedImage)[/c] gefunden. Und warum gibt mir eigentlich tex.getImage().getData() ne Liste von ByteBuffern?
 

thewulf00

Bekanntes Mitglied
Also von einer Textur zu einem BufferedImage habe ich inzwischen gefunden:

[Java]import jme3tools.converters.ImageToAwt;
[...]
BufferedImage img = ImageToAwt.convert(tex.getImage(), false, false, 0);[/Java]

Leider habe ich keine Idee und finde auch im jME3-Code keine Rückwärts-Variante.
 

Evil-Devil

Top Contributor
Zum Bytebuffer: Das sind Rohdaten. Sprich die reinen RGB(A) Werte, 3 bzw. 4 Byte.

Um aus dem ByteBuffer ein BufferedImage zu machen musst du die Daten entsprechend an dein BufferedImage überführen. Die Höhe und Weite von der Textur kannst du abfragen.

Kann sein das es da auch was fertiges gibt, habe jetzt auf die schnelle in der Doku aber nichts gefunden.
jMonkeyEngine3
 

thewulf00

Bekanntes Mitglied
So, endlich hab ichs gefunden.

Java:
import com.jme3.texture.plugins.AWTLoader;
[...]
public Texture AwtImageToTexture(BufferedImage img) {
  AWTLoader loader = new AWTLoader();
  Texture   tex    = new Texture2D();

  tex.setImage(loader.load(img, true));
  return tex;
}


@Evil-Devil: Ja, das dachte ich mir, aber warum hat eine Texture denn MEHRERE ByteBuffer? Die Funktion getData() liefert eine List<ByteBuffer> oder erwartet einen Index als Parameter.
 

thewulf00

Bekanntes Mitglied
Naja, also wenn ich .size() mache, dann kommt ne 1, also ist 0 der korrekte Index. Wenn ich 0 mache, dann kommt auch ein ByteBuffer, aber mich interessiert trotzdem, wofür diese Funktion vorgesehen ist. Ich nehme mal, für Multi-image-Animationen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Blender .obj in jme3 benutzen Spiele- und Multimedia-Programmierung 2
A JME3 will Blender/j3o Objekte nicht einladen Spiele- und Multimedia-Programmierung 3
M [JME3] Jmonkey Engine und Wavefront import aus Blender Spiele- und Multimedia-Programmierung 3
S JME3 - PhysicsCollisionListener Spiele- und Multimedia-Programmierung 2
M JME3 assetManager.loadModel -> Cannot locate Resource Spiele- und Multimedia-Programmierung 4
T Position eines Image verändern mithilfe eines Timers Spiele- und Multimedia-Programmierung 6
K Video: Per Image Information Spiele- und Multimedia-Programmierung 3
M Image unpainten Spiele- und Multimedia-Programmierung 3
B Bild ohne Image auf die Festplatte streamen Spiele- und Multimedia-Programmierung 4
X Android Slick AE Image Pfad Spiele- und Multimedia-Programmierung 3
A Drehen von einem Image Spiele- und Multimedia-Programmierung 4
C Mouseover Area genau wie Image Spiele- und Multimedia-Programmierung 8
L Slick-Image aus byte-array erzeugen Spiele- und Multimedia-Programmierung 2
0 2D Spiel Welt scrollen bzw Image erweitern Spiele- und Multimedia-Programmierung 2
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
F Hintergrund bei Image entfernen Spiele- und Multimedia-Programmierung 4
S Image-Einbindung Spiele- und Multimedia-Programmierung 5
StrikeTom .gif animation als image abspielen Spiele- und Multimedia-Programmierung 2
T Glüh effekt um Image Spiele- und Multimedia-Programmierung 9
radiac Aktuelles ScreenBild als Image? Spiele- und Multimedia-Programmierung 6
Stillmatic1985 Buffered Image drucken Spiele- und Multimedia-Programmierung 1
P Culling von Image-Objekten Spiele- und Multimedia-Programmierung 3
E Alternative zu import com.sun.image.codec.jpeg.JPEGCodec ? Spiele- und Multimedia-Programmierung 1
E JPCT background image Spiele- und Multimedia-Programmierung 3
P Grosses Bufferd Image Drucken Print API Spiele- und Multimedia-Programmierung 3
G Image drucken Spiele- und Multimedia-Programmierung 17
S Image will nicht laden Spiele- und Multimedia-Programmierung 3
A Image in BufferedImage konvertieren Spiele- und Multimedia-Programmierung 2
O Image dynamisch erstellen. Spiele- und Multimedia-Programmierung 6
G Punkt in Image auf Transparenz prüfen Spiele- und Multimedia-Programmierung 6
G Bereich im Image löschen Spiele- und Multimedia-Programmierung 4
H image.setRGB() zeichnet falsch Spiele- und Multimedia-Programmierung 3
R Transparente Farbe von (Buffered) Image Spiele- und Multimedia-Programmierung 10
D Welcher Image Typ am besten für 2D-Spiele geeignet? Spiele- und Multimedia-Programmierung 5
O Image konvertieren in monochrom scharz/weiß Spiele- und Multimedia-Programmierung 3
F Image eines bestimmten Bereichs eines JPanels erstellen Spiele- und Multimedia-Programmierung 4
T Spiel als Vollbild starten mit Image als HIntergrund Spiele- und Multimedia-Programmierung 8
O transparente farbe in Image mit Graphics Spiele- und Multimedia-Programmierung 8
S Image to BufferedImage Spiele- und Multimedia-Programmierung 3
D Image.getGraphics() in einem Frame Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben