我有2个申请。一个应用程序充当服务器,它在java中创建,并使用以下代码连续发送桌面屏幕截图。
public void screenCap() throws IOException, AWTException{
Rectangle captureSize = new Rectangle(lastXpos, lastYpos, 500, 500);
img = robot.createScreenCapture(captureSize);
Robot robot=new Robot();
OutputStream os = null;
BufferedImage image = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(image, "jpg", os);
}
第二个应用程序是Android应用程序作为客户端应用程序,必须从输入流连续读取上面的图像流。
请帮我在客户端应用程序中读取输入流中的图像。
答案 0 :(得分:0)
使用BitmapFactory类的Bitmap decodeStream()
方法。
public static Bitmap decodeStream (InputStream is)
Since: API Level 1
将输入流解码为位图。如果输入流为空,或者不能用于解码位图,则该函数返回null。流的位置将是读取编码数据后的位置。
示例:强>
String urlOfBitmap = ""; // Url of inputstream
Bitmap bitmap = null;
try {
InputStream in = new java.net.URL(urlOfBitmap).openStream();
bitmap = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
答案 1 :(得分:0)
FileInputStream in;
in = ...;
bitmap = BitmapFactory.decodeStream(in);