【发布时间】:2016-04-25 08:09:37
【问题描述】:
我有一个网格,我在渲染循环中使用 texture.bind(); 绑定了一个纹理;
纹理的原始分辨率是 1024 x 1024。我的桌面屏幕分辨率是 1366 x 768。
所以我对网格三角形进行了一些更改以修改纹理的外观。我在这里和那里移动一些三角形以获得最终图像。现在,我想以原始分辨率保存该图像,但如果我使用图像的原始像素图这样做,它会在修改之前以 1024x1024 保存原始图像。但我想将修改后的图像保存为 1024x1024。
我也使用了截图代码:
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();
但由于显示器分辨率较低,它会将图像保存为 1024x750 分辨率(在这种情况下 getBackBufferHeight 变为 750)。
我现在想捕获/保存修改后的图像(使用网格三角形修改)。我现在究竟需要做什么才能获得修改后的 1024x1024 图像?我是否应该使用 ScrollPane 以原始分辨率显示图像,以便在截屏时得到 1024x1024?
【问题讨论】:
标签: libgdx screenshot mesh scene2d