如何将ddmlib.Raw图像转换为android中的位图或jpeg图像?

时间:2014-05-28 05:32:01

标签: android ddms android-bitmap

我正在尝试将Java代码移植到android代码中。源代码在这里: screenshot:java

这里

  

RawImage raw = device.getScreenshot();

捕获android屏幕的屏幕截图并将其另存为RawImage

这个RawImage在“ddmlib.RawImage”(ddms)中定义,它进一步转换为BufferImage。现在的问题是 - android不支持java.awt.image.BufferedImage。

那么,这个RawImage如何在Bitmap或任何其他Android支持的图像格式中被转换。

或者,是否可以通过哪种方式直接使用RawImage来显示或保存在外部存储中?

1 个答案:

答案 0 :(得分:0)

你可以从网站找到答案

http://www.programcreek.com/java-api-examples/index.php?api=com.android.ddmlib.RawImage

你可以测试源代码(我测试过它,没关系):

// convert raw data to an Image

BufferedImage image = new BufferedImage(rawImage.width, rawImage.height, BufferedImage.TYPE_INT_ARGB);

int index = 0;
int IndexInc = rawImage.bpp >> 3;
for (int y = 0 ; y < rawImage.height ; y++) {
    for (int x = 0 ; x < rawImage.width ; x++) {
        int value = rawImage.getARGB(index);
        index += IndexInc;
        image.setRGB(x, y, value);
    }
}

if (!ImageIO.write(image, "png", new File(filepath))) {
    throw new IOException("Failed to find png writer");
}