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

6
回复
933
查看
[复制链接]

314

主题

1021

帖子

689

安币

手工艺人

发表于 2018-10-8 11:50:43 | 显示全部楼层 |阅读模式

        关于生成二维码图片: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

主题

9315

帖子

2890

安币

Android大神

Rank: 6Rank: 6

发表于 2018-10-8 12:24:06 | 显示全部楼层
感谢大神~

0

主题

9275

帖子

2901

安币

Android大神

Rank: 6Rank: 6

发表于 2018-10-8 13:10:46 | 显示全部楼层
楼主是好人,回个帖会有安币吗?

62

主题

9790

帖子

911

安币

代码手工艺人

学海无涯

Rank: 4

QQ达人

发表于 2018-10-8 14:13:16 | 显示全部楼层
感觉楼主很用心,辛苦啦~

394

主题

1012

帖子

851

安币

手工艺人

发表于 2018-10-8 15:21:44 | 显示全部楼层
不错不错,楼主辛苦了。。。

0

主题

9494

帖子

2470

安币

Android大神

Rank: 6Rank: 6

发表于 2018-10-8 16:01:10 | 显示全部楼层
感谢分享,安卓巴士有你更精彩:lol

10

主题

9841

帖子

858

安币

代码手工艺人

Rank: 4

发表于 2018-10-8 17:29:47 | 显示全部楼层
帮帮顶顶!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

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