Ich habe ein Mesh, auf dem ich eine Textur in Render loop mit textur.bind() gebunden habe;libgdx mesh screenshot original resolution
Die ursprüngliche Auflösung der Textur ist 1024 x 1024. Auflösung Meiner Desktop-Bildschirm ist 1366 x 768.
Also mache ich einige Änderungen in der Gitterdreiecke der Textur des Aussehen zu verändern. Ich bewege hier und da ein paar Dreiecke, um ein endgültiges Bild zu erhalten. Jetzt möchte ich das Bild in seiner ursprünglichen Auflösung speichern, aber wenn ich dabei das Original-Pixmap des Bildes verwende, speichert es das Originalbild vor der Änderung in 1024x1024. Aber ich möchte das modifizierte Bild in 1024x1024 speichern.
Ich habe auch den Screenshot Code:
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);
PixmapIO.writePNG(Gdx.files.local("saved/screenshot.png"), pixmap);
pixmap.dispose();
Aber es speichert das Bild in 1024x750 Auflösung wegen der geringeren Bildschirmauflösung (getBackBufferHeight wird 750 in diesem Fall).
Ich möchte jetzt das geänderte Bild erfassen/speichern (modifiziert mit Mesh-Dreiecke). Was genau muss ich jetzt tun, um das geänderte 1024x1024 Bild zu erhalten? Soll ich ein ScrollPane verwenden, um das Bild in seiner ursprünglichen Auflösung anzuzeigen, so dass, wenn ich einen Screenshot mache, ich 1024x1024 bekomme?
Danke Mann! Es funktioniert jetzt. Du hast mich wieder gerettet :) –