我正在尝试将Java代码移植到android代码中。源代码在这里: screenshot:java
这里
RawImage raw = device.getScreenshot();
捕获android屏幕的屏幕截图并将其另存为RawImage
。
这个RawImage在“ddmlib.RawImage”(ddms)中定义,它进一步转换为BufferImage。现在的问题是 - android不支持java.awt.image.BufferedImage。
那么,这个RawImage
如何在Bitmap或任何其他Android支持的图像格式中被转换。
或者,是否可以通过哪种方式直接使用RawImage
来显示或保存在外部存储中?
答案 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");
}