首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引用SD-Card,Android上的文件

引用SD-Card,Android上的文件
EN

Stack Overflow用户
提问于 2012-03-09 16:47:54
回答 2查看 310关注 0票数 0

目前,我试图对android中的图像执行相同的操作(OCR),一个选项是使用相机,另一个选项是从SD卡加载图像。当从代码所在的摄像机中提取代码时,该代码可以工作。

代码语言:javascript
复制
Bitmap bitmap = BitmapFactory.decodeFile(_path,options);

其中_path等于使用应用程序( _path = DATA_PATH + "ocr.jpg"; )拍摄的最后一幅图像。但是,当我尝试使用从图库中选择的图像时,_path将等于,

代码语言:javascript
复制
imageCaptureUri = data.getData();
_path = imageCaptureUri.getPath();

程序因错误而锁定。

故障删除结果ResultInfo{who=null,请求= 2,结果= -1,data=intent {dat=内容://media/external/image/media/26 typ=who=null/jpeg(已附加)}到活动{com.project.projectActivity}:java.lang.NullPointerException

如果有人知道发生了什么事,我想听听你的意见!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-09 16:59:16

你可以得到图像的路径..。

代码语言:javascript
复制
_path = getPath(imageCaptureUri);


public String getPath(Uri uri) {
String[] projection = { MediaColumns.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
column_index = cursor
    .getColumnIndexOrThrow(MediaColumns.DATA);
cursor.moveToFirst();
imagePath = cursor.getString(column_index);

return cursor.getString(column_index);
}

然后

代码语言:javascript
复制
Bitmap bitmap = BitmapFactory.decodeFile(_path,options);

备注:如果您正在裁剪图像,那么在这种情况下,图库将在您正在裁剪的图像目录上生成裁剪图像。

票数 2
EN

Stack Overflow用户

发布于 2012-03-09 16:55:56

图片库返回一个Uri来访问图像。

您需要使用来自BitmapFactory的BitmapFactory方法,为此您需要在给定的Uri上打开一个InputStream:

代码语言:javascript
复制
InputStream is = getContentResolver().openInputStream(imageCaptureUri);
Bitmap bitmap = BitmapFactory.decodeStream(is, options);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9637836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档