将 LibGDX 像素图转换为 Android 位图

问题描述 投票:0回答:2

我只是想将像素图转换为位图。 这是我创建像素图的方法

screenShot = ScreenUtils.getFrameBufferTexture().getTexture().getTextureData().consumePixmap();

这就是我尝试将 Pixmap 转换为 Bitmap 的方式。

Bitmap mBitmap = BitmapFactory.decodeByteArray(screenshot.getPixels().array(), 0, screenshot.getPixels().array().length);

但是我给你的第二行发生了崩溃。 我真的很感激任何帮助。谢谢。

java android bitmap libgdx
2个回答
2
投票

简单快速

PNG writer = new PNG((int)(pixmap.getWidth() * pixmap.getHeight() * 1.5 f));
writer.setFlipY(false);
ByteArrayOutputStream output = new ByteArrayOutputStream();
try {
 writer.write(output, pixmap);
} finally {
 StreamUtils.closeQuietly(output);
 writer.dispose();
 pixmap.dispose();
}
byte[] bytes = output.toByteArray();
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);

0
投票

好的。我只是没有找到完全符合我的答案的解决方案。 但我找到了另一种方法来完成我需要的事情。感谢 Tenfour04。

我执行了以下步骤:

  1. 创建了像素图。
  2. 用 PixmapIO.writePNG() 保存;
  3. 并将其链接到 Android 方法。

这种方式适用于自定义静态像素图。

© www.soinside.com 2019 - 2024. All rights reserved.