In der Mitte eines Spiels hätte ich gerne Zugriff auf die Pixel, die derzeit auf dem Bildschirm als eine Matrix (oder wirklich mehrere Matrizen) von RGB-Werten angezeigt werden . Gibt es einen einfachen Befehl, um darauf zuzugreifen?LibGDX - bekomme gerenderten Bildschirm als eine Matrix von RGB-Werten
0
A
Antwort
3
Sie können den Code aus [offizieller Libgdx Wiki verwenden [(https://github.com/libgdx/libgdx/wiki/Taking-a-Screenshot)
byte[] pixels = ScreenUtils.getFrameBufferPixels(0, 0, Gdx.graphics.getBackBufferWidth(), Gdx.graphics.getBackBufferHeight(), true);
Pixmap pixmap = new Pixmap(Gdx.graphics.getBackBufferWidth(), Gdx.graphics.getBackBufferHeight(), Pixmap.Format.RGBA8888);
BufferUtils.copy(pixels, 0, pixmap.getPixels(), pixels.length);
//Your logic here
pixmap.dispose();
Dann können Sie durch die Verwendung Pixmap Methode gewünschte Pixel erhalten:
getPixel(int x, int y)
oder nur alle Pixel iterieren durch Verwendung als Schleifen
folgendenfor(int w = 0; w < pixmap.getWidth(); w++)
for(int h = 0; h < pixmap.getHeight(); h++)
getPixel(w, h);
Denken Sie daran, dass Pixmap entsorgt werden muss. Liste der Objekte, die entsorgt werden müssen, finden Sie here
+0
Super, danke! – mkreisel
Verwandte Themen
- 1. Libgdx Fitting Bildschirm
- 2. Die libGDX Projection Matrix verstehen
- 3. Wie bekomme ich eine Region von gedrehten Actor in libgdx
- 4. writedlm eine Matrix von Bool als 0,1 Matrix
- 5. eine Matrix von row.names
- 6. ItemsPanel als autoResizable Matrix
- 7. OpenGL - Kopieren Textur von Bildschirm kleiner als dieser Bildschirm
- 8. Libgdx - Spiel schließt sofort nach dem Start Bildschirm
- 9. numpy - Drucken * nur eine * Spalte von der Matrix als hex
- 10. Shear Matrix als eine Kombination von grundlegenden Transformation?
- 11. WPF - Hit Testing gerenderten Pixel von Zeichen
- 12. Libgdx Ausrichtung Bitmap Schriftart oben rechts auf dem Bildschirm
- 13. libGDX ScrollPane mit WidgetGroup anstelle von Table als ScrollPane Widget?
- 14. richtige Handhabung von LibGDX AssetManager
- 15. Pass-Matrix als Argument
- 16. libgdx Shaders - grundlegende Shader, aber der Bildschirm ist leer
- 17. Inhalt breiter als Bildschirm
- 18. Bildschirm als Bild speichern
- 19. nach dem Ankreuzen mehr als eine Checkbox bekomme ich Array auf dem Bildschirm gedruckt
- 20. LibGDX Tiled: Tile Map als 2D Array
- 21. LIBGDX Input - Anzahl der Finger berühren den Bildschirm
- 22. Libgdx Viewports
- 23. R - Wie bekomme ich die Matrix von multidimensionalen Array
- 24. Wie bekomme ich eine globale (Bildschirm, Gerät) Koordinaten mit CGContext?
- 25. Spring MVC mit einer extern gerenderten PDF als Ansicht
- 26. Indizierung eindimensionale numpy.array als Matrix
- 27. Samt Druck CSS als Bildschirm
- 28. Pause TimeUtils in libgdx
- 29. Python-Matrix dargestellt als (40000,)
- 30. Ermitteln der Matrixzeile als Matrix
Die Klasse [ScreenUtils] (https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/utils/ScreenUtils.html) hat ein paar Methoden, die den aktuellen 'FrameBuffer' als' byte [] ',' PixMap' oder sogar 'TextureRegion' zurückgeben. Ich schätze, das ist was du suchst. – Springrbua