这是我将图像文件转换为字节数组的代码。
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中止错误。请建议我读取存储在模拟器中的图像文件的正确路径。
答案 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();