android zxing 解析二维码图片与生成二维码图片的代码实现
程序员文章站
2022-10-26 11:42:35
关于生成二维码图片:android下使用zxing包生成二维码里提供的qrcodeutil就是一切了。非常的方便。
关于解析二维码图片,获取内容:
public result parseinfo...
关于生成二维码图片:android下使用zxing包生成二维码里提供的qrcodeutil就是一切了。非常的方便。
关于解析二维码图片,获取内容:
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; }
调用:
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里面添加依赖:
implementation 'com.google.zxing:core:3.3.1'
我这里是3.3.0,也可以使用更新的,比如3.3.1。
就这样了,图片,你自己去拍照,或者图片里面选择好了。这里提供的仅仅是解析二维码图片的逻辑。
二维码图片生成的逻辑,我顶部的链接里面提供了。
以上。
=====================================================
关于解析二维码,再说一下,核心代码就是:new qrcodereader().decode(xx);
然后就是把自己的数据(bitmap)封装成它.decode()所能解析的对象即可。
生成二维码同理。