lai*_*nio 5 java base64 android
我正在用相机捕捉图像。我将文件保存在公共照片目录中并将其保存Uri到该文件中。
我想将图像保存在 a 中,Base64 String然后将其放在 aHashMap中,然后将其放入 XML 文件中。
protected Void doInBackground(Void...voids) {
options.inJustDecodeBounds = false;
//Bitmap bmp = BitmapFactory.decodeFile(imageFilePath,options);
InputStream in = null;
try {
in = getContentResolver().openInputStream(Uri.parse(mCurrentPhotoPath));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
options.inSampleSize = 2;
Bitmap image = BitmapFactory.decodeStream(in,null,options);
int imgHeight = image.getHeight();
int imgWidth = image.getWidth();
while(imgHeight>2000){
imgHeight = imgHeight / 2;
}
while(imgWidth>2000){
imgWidth = imgWidth / 2;
}
Bitmap test = Bitmap.createScaledBitmap(image,imgWidth,imgHeight,false);
String stest = base64EncodeDecode.encodeToBase64(test);
items.put("image",base64EncodeDecode.encodeToBase64(test);
return null;
}
Run Code Online (Sandbox Code Playgroud)
该Base64时间过长编码。
encodeToBase64方法
public String encodeToBase64(Bitmap image) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
return Base64.encodeToString(b, Base64.DEFAULT);
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我编码时我是否做错了什么吗?
我希望我的问题很清楚。
亲切的问候!
如果您收到!!! FAILED BINDER TRANSACTION !!!错误,可能是因为您向对方传递了太多数据Activity,所以您可以发送的数据量是有限制的。尝试将图像压缩到 50% 或 30%image.compress(Bitmap.CompressFormat.JPEG, 50, baos);
| 归档时间: |
|
| 查看次数: |
3002 次 |
| 最近记录: |