android zxing 解析二维码图片与生成二维码图片的代码实现

7
回复
1151
查看
[复制链接]

497

主题

1166

帖子

1040

安币

手工艺人

发表于 2018-9-21 16:24:13 | 显示全部楼层 |阅读模式

        关于生成二维码图片:Android下使用zxing包生成二维码里提供的QRCodeUtil就是一切了。非常的方便。

        关于解析二维码图片,获取内容:

[Java] 查看源文件 复制代码
public Result parseInfoFromBitmap(Bitmap bitmap) {
 int[] pixels = new int[bitmap.getWidth() * bitmap.getHeight()];
 bitmap.getPixels(pixels, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());
 LogUtils.w("### pixels dest==" + Arrays.toString(pixels));

 RGBLuminanceSource source = new RGBLuminanceSource(bitmap.getWidth(),
bitmap.getHeight(), pixels);
 GlobalHistogramBinarizer binarizer = new GlobalHistogramBinarizer(source);
 BinaryBitmap image = new BinaryBitmap(binarizer);
 Result result = null;
 try {
  result = new QRCodeReader().decode(image);
  return result;
 } catch (NotFoundException e) {
  e.printStackTrace();
 } catch (ChecksumException e) {
  e.printStackTrace();
 } catch (FormatException e) {
  e.printStackTrace();
 }

 return null;

}

        调用:

[Java] 查看源文件 复制代码
view..setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
  LogUtils.w("扫描二维码");
  String path = new File(getCacheDir(), "zx.jpg").getAbsolutePath();
  Bitmap bitmap = BitmapFactory.decodeFile(path);
  Result result = parseInfoFromBitmap(bitmap);
  if (result != null) {
LogUtils.w(result);
LogUtils.i("result info==" + result.getText());
  }
 }
});

        前提:build.gradle里面添加依赖:

[Java] 查看源文件 复制代码
implementation 'com.google.zxing:core:3.3.1'

        我这里是3.3.0,也可以使用更新的,比如3.3.1。

        就这样了,图片,你自己去拍照,或者图片里面选择好了。这里提供的仅仅是解析二维码图片的逻辑

        二维码图片生成的逻辑,我顶部的链接里面提供了。

        以上。

        =====================================================

        关于解析二维码,再说一下,核心代码就是:new QRCodeReader().decode(xx);

        然后就是把自己的数据(bitmap)封装成它.decode()所能解析的对象即可。

        生成二维码同理。


0

主题

9295

帖子

2405

安币

Android大神

Rank: 6Rank: 6

发表于 2018-9-21 17:04:25 | 显示全部楼层
支持,感谢,祝巴士越来越好~

465

主题

9890

帖子

813

安币

代码手工艺人

Rank: 4

发表于 2018-9-21 17:48:36 | 显示全部楼层
楼主威武,以后多发干货,多办活动~!

758

主题

1395

帖子

1873

安币

手工艺人

发表于 2018-9-21 18:58:14 | 显示全部楼层
感谢大神~

329

主题

919

帖子

726

安币

手工艺人

发表于 2018-9-21 20:13:17 | 显示全部楼层
安卓巴士是个不错的网站,我来顶个贴~

429

主题

1088

帖子

1907

安币

手工艺人

发表于 2018-9-21 21:17:29 | 显示全部楼层
感觉楼主很用心,辛苦啦~

1

主题

9188

帖子

2912

安币

Android大神

Rank: 6Rank: 6

发表于 2018-9-21 22:26:56 | 显示全部楼层
支持,感谢,祝巴士越来越好~

0

主题

7

帖子

97

安币

程序猿

Rank: 2

发表于 2019-4-24 17:17:39 | 显示全部楼层
下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )