如何从inputstream到android读取图像

时间:2012-08-27 10:46:58

标签: android image

我有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应用程序作为客户端应用程序,必须从输入流连续读取上面的图像流。

请帮我在客户端应用程序中读取输入流中的图像。

2 个答案:

答案 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);