Android二维码生成_QRCodeWriter二维码识别与解析开发
程序员文章站
2022-03-01 13:23:50
...
本Demo是一个利用QRCodeWriter编写的二维码的生成和解析的小例子、并将图片保存到本地、代码也很简单、都是封装的方法、很好理解、基本上下载源代码就可以很清楚的理解代码、并且能快速的集成到自己的项目中、下载看一下Demo例子
生成QR二维码代码
private void createImage() { try { // 需要引入core包 QRCodeWriter writer = new QRCodeWriter(); String text = qr_text.getText().toString(); Log.i(TAG, "生成的文本:" text); if (text == null || "".equals(text) || text.length() < 1) { return; } // 把输入的文本转为二维码 BitMatrix martix = writer.encode(text, BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT); System.out.println("w:" martix.getWidth() "h:" martix.getHeight()); Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(); hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); BitMatrix bitMatrix = new QRCodeWriter().encode(text, BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT, hints); int[] pixels = new int[QR_WIDTH * QR_HEIGHT]; for (int y = 0; y < QR_HEIGHT; y ) { for (int x = 0; x < QR_WIDTH; x ) { if (bitMatrix.get(x, y)) { pixels[y * QR_WIDTH x] = 0xff000000; } else { pixels[y * QR_WIDTH x] = 0xffffffff; } } } bitmap = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT, Bitmap.Config.ARGB_8888); bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT); System.out.println(Environment.getExternalStorageDirectory()); qr_image.setImageBitmap(bitmap); try { saveMyBitmap(bitmap, "code"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (WriterException e) { e.printStackTrace(); } }
解析QR图片代码
private void scanningImage() { Hashtable<DecodeHintType, String> hints = new Hashtable<DecodeHintType, String>(); hints.put(DecodeHintType.CHARACTER_SET, "utf-8"); // 获得待解析的图片 Bitmap bitmap = ((BitmapDrawable) qr_image.getDrawable()).getBitmap(); RGBLuminanceSource source = new RGBLuminanceSource(bitmap); BinaryBitmap bitmap1 = new BinaryBitmap(new HybridBinarizer(source)); QRCodeReader reader = new QRCodeReader(); Result result; try { result = reader.decode(bitmap1); result=reader.decode(bitmap1, hints ); // 得到解析后的文字 qr_result.setText(result.getText()); } catch (NotFoundException e) { e.printStackTrace(); } catch (ChecksumException e) { e.printStackTrace(); } catch (FormatException e) { e.printStackTrace(); } }
到此为止、以前就是生成二维码和解析二维码的代码了、详细的代码大家可以下载源代码研究
另外以前也分享过一个通过联图生成二维码的例子:http://dwtedx.com/itshare_261.html
若资源对你有帮助、扫描下方的二维码、关注DD博客微信公众号(ddblogs)吧
最后给贴上Demo的源代码、希望对大家有用、有兴趣的哥们可以下载看看
源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1gd2I3RH 密码: c932
推荐阅读
-
Android二维码的生成与扫码-zxing示例代码
-
PHP生成二维码与识别二维码的方法详解【附源码下载】
-
Android上使用ZXing识别条形码与二维码的方法
-
android zxing 解析二维码图片与生成二维码图片的代码实现
-
java实现二维码的生成与解析
-
彩色二维码生成器,带logo文字和中心文字 彩色二维码生成器,带logo文字和中心文字 使用.net 4.0和zxing开发, 内容支持中文,使用UTF-8编码,一般扫描二维码软件可以识别。 最上方显示文字log,字数可以调节。 正中间的圆圈内显示中心文字。 微盘下载地址:彩色二维码生成器.net2.0win7可用byKimmKing.zip
-
彩色二维码生成器,带logo文字和中心文字 彩色二维码生成器,带logo文字和中心文字 使用.net 4.0和zxing开发, 内容支持中文,使用UTF-8编码,一般扫描二维码软件可以识别。 最上方显示文字log,字数可以调节。 正中间的圆圈内显示中心文字。 微盘下载地址:彩色二维码生成器.net2.0win7可用byKimmKing.zip
-
Android 生成二维码踩坑之二维码无法正常识别扫码
-
PHP二维码的生成与识别案例
-
Android二维码生成与扫码