发布时间:2023-09-16 12:00来源:www.51edu.com作者:畅畅
在别处上看到的文章,解决了我在开发中的拍照后内存溢出的问题,下面就是代码
private static int CARMER_REQUEST_CODE = 1;
private String filedirName = sencondIDCard;
private String picFileName = ;
private File picFile = null;
Uri imgUri = null;
OcrEngine oe;
IDCard ic;
private void startCarmer() {
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), sencondIDCard);
if(!dir.exists()){
dir.mkdirs();
}
Date date = null;
SimpleDateFormat format = new SimpleDateFormat(yyyyMMddHHmmss);// 获取当前时间,进一步转化为字符串
date = new Date();
picFileName = format.format(date) + .jpg;
picFile = new File(dir,picFileName);
Uri u=Uri.fromFile(picFile);
Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
camera.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
camera.putExtra(MediaStore.EXTRA_OUTPUT, u);
startActivityForResult(camera, CARMER_REQUEST_CODE);
}
/**
* @param 将图片内容解析成字节数组
* @param inStream
* @return byte[]
* @throws Exception
*/
public byte[] readStream(InputStream inStream) throws Exception {
byte[] buffer = new byte[1024];
int len = -1;
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
byte[] data = outStream.toByteArray();
outStream.close();
inStream.close();
return data;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CARMER_REQUEST_CODE ) {
try {
imgUri = Uri.parse(android.provider.MediaStore.Images.Media.insertImage(getContentResolver(), picFile.getAbsolutePath(), null, null));
//u就是拍摄获得的原始图片的uri,剩下的你想干神马坏事请便……
ContentResolver cr = getContentResolver();
InputStream imgIS = imgIS = cr.openInputStream(imgUri);
// ic = oe.recognize(MainActivity.this, picFile.getAbsolutePath());
ic = oe.recognize(MainActivity.this, readStream(imgIS));
String cn = ic.getCardNo();
String bt = ic.getBirth();
if(cn != null){
System.out.println(cn---> + cn);
}else{
System.out.println(cn---> cn is null );
}
System.out.println(---> );
} catch ( Exception e) {
e.printStackTrace();
}
}
}
上一篇:联想笔记本电源适配器的拆开方法
下一篇:诚联电源和创联电源,哪家的好?
流浪法师出装,英雄联盟手游小法师怎么出装
勇者斗恶龙7安卓攻略,勇者斗恶龙7安卓
lol小鱼皮肤哪个手感好,菲兹皮肤手感排行
妄想山海香料蘑菇怎么做,妄想山海臭豆腐配方和制作方法分享
厄运之槌地图走法,魔兽厄运之槌副本入口
另一个伊甸奈岐角色任务,另一个伊甸奈岐技能介绍及强度测评
西部荒野稀有乌尔图斯,外域稀有精英分布图
奶茶制作方法,妄想山海烤全鱼配方和制作方法分享
洛克王国酷拉要刷多少次,洛克王国酷拉在哪
开心消消乐
类型:休闲益智
解压宝盒
类型:休闲益智
迷你世界
类型:休闲益智
恐怖奶奶
类型:休闲益智
老板挪个车2
类型:休闲益智
我的狗狗
类型:休闲益智
贪吃蛇大作战
类型:休闲益智
白块儿达人-节奏钢琴黑白块
类型:休闲益智
解压模拟大师
类型:休闲益智