从Android模拟器中读取图像

时间:2012-03-20 08:34:39

标签: java android

这是我将图像文件转换为字节数组的代码。

 public String GetQRCode() throws FileNotFoundException, IOException {
    /*
     * In this function the first part shows how to convert an image file to 
     * byte array. The second part of the code shows how to change byte array
     * back to a image.
     */
    AssetManager mgr = mAppView.getContext().getAssets();
    InputStream in = mgr.open("www/Siemens_QR.jpg");
InputStreamReader isr = new InputStreamReader(in);
     char[] buf = new char[20];
    isr.read(buf, 0, 20);
    isr.close();
    // byte[] bytes = bos.toByteArray();
    String abc = buf.toString();
    return abc;
}

这里我将图像文件转换为字节数组。我能做到这一点。但是当尝试使用存储在模拟器中的路径(“sdcard / Download / Siemens_QR.jpg”)读取此图像文件时,我收到VM中止错误。请建议我读取存储在模拟器中的图像文件的正确路径。

1 个答案:

答案 0 :(得分:0)

如果你有jpg图像存储在SD卡上然后获取文件路径并尝试使用以下方法将图像转换为字节...

Bitmap bitmap = BitmapFactory.decodeFile(file path);

ByteArrayOutputStream baos = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 60, baos);

byte[] byte_img_data = baos.toByteArray();