`

二维码生成与解析

 
阅读更多
private void createImage() {
        try {
            // 需要引入core包
            QRCodeWriter writer = new QRCodeWriter();


            // 把输入的文本转为二维码
            BitMatrix martix = writer.encode(info, 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(info,
                    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 = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT,
                    Bitmap.Config.ARGB_8888);

            bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT);
            iv_code.setImageBitmap(bitmap);

        } catch (WriterException e) {
            e.printStackTrace();
        }
    }
//解析
private void scanningImage() {

        Map<DecodeHintType, String> hints = new HashMap<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, hints);
            // 得到解析后的文字
            qr_result.setText(result.getText());
        } catch (NotFoundException e) {
            e.printStackTrace();
        } catch (ChecksumException e) {
            e.printStackTrace();
        } catch (FormatException e) {
            e.printStackTrace();
        }
    }

 

分享到:
评论

相关推荐

    基于java的二维码生成与解析demo

    这是一个基于java开发的二维码生成与解析 可以根据程序配置的参数设置生成二维码的图片大小 以及密度 这是一个基于java开发的二维码生成与解析 可以根据程序配置的参数设置生成二维码的图片大小 以及密度 这是一个...

    基于Spring Boot的二维码生成与解析接口.zip

    本项目是关于"基于Spring Boot的二维码生成与解析接口",将重点探讨如何在Spring Boot环境中实现二维码的生成与解码功能。 首先,二维码(Quick Response Code)是一种二维条形码,能够存储更多的数据,包括URL、...

    二维码生成与解析代码实现

    二维码生成与解析是现代信息化社会中常见的技术,广泛应用于各种场景,如名片交换、网址跳转、支付等。本文将详细讲解如何通过源码实现这一功能,并探讨其中的关键知识点。 首先,我们来看`TwoDimensionCode.java`...

    二维码生成、解析C++实现

    总的来说,C++实现二维码生成与解析涉及到编码原理、图像处理、错误纠正算法以及多语言支持等多个方面的知识。通过理解和应用这些技术,我们可以创建出高效且可靠的二维码工具,满足各种应用场景的需求。

    Zxing二维码生成与解析

    《Zxing:二维码生成与解析全面解析》 在数字化时代,二维码已经成为我们日常生活和工作中不可或缺的一部分,无论是信息传递、支付还是广告推广,二维码都扮演着重要角色。Zxing(ZXing,发音为“zebra crossing”...

    java web 二维码生成与解析实例

    总结来说,这个Java Web二维码生成与解析实例涵盖了Java编程、Web开发、二维码编码解码以及HTTP服务处理等多个技术领域。通过实践这个实例,开发者不仅可以掌握基础的二维码操作,还能深入理解Java Web应用的开发...

    二维码生成与解析(完整代码)

    二维码技术在现代社会中被...总之,掌握二维码生成与解析的技能,能帮助开发者在各种场景下灵活应用这项技术,提升用户体验,促进业务发展。本资源提供的ZXing.jar和相关代码示例,为学习和实践二维码处理提供了便利。

    QrCode 二维码生成与解析

    本主题将深入探讨“QrCode 二维码生成与解析”,包括如何使用JavaScript生成二维码以及如何利用Java工程解析二维码图片文件。 首先,我们来看二维码生成的过程。在JavaScript环境下,可以借助开源库如`qrcode-...

    基于QT+C++开发的二维码生成与解析的项目+源码+开发文档说明(毕业设计&课程设计&项目开发)

    基于QT+C++开发的二维码生成与解析的项目+源码+开发文档说明,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于QT+C++开发的二维码生成与解析的项目+源码+开发...

    java二维码生成与解析代码实现.docx

    以下是一些关于Java二维码生成与解析的关键知识点: 1. **依赖库**: - `QRCode.jar`:这是用于生成和解码二维码的库,它可能包含了`jp.sourceforge.qrcode`和`com.swetake.util.Qrcode`这两个包,这两个包提供了...

    基于安卓二维码生成与解析系统的设计与实现-任务书

    ### 基于Android的二维码生成与解析系统的设计与实现 #### 一、项目背景与意义 随着移动互联网技术的迅速发展以及智能手机的普及,二维码技术作为一种新兴的信息载体,在人们的日常生活中扮演着越来越重要的角色。...

    java二维码生成与解析

    Java二维码生成与解析是Java开发中的一个重要功能,它涉及到数据编码、图像处理和解码算法等多个技术领域。在这个话题中,我们将深入探讨如何在Java环境中创建和读取二维码(Quick Response Code),以及相关的编程...

    二维码生成与解析 事例

    二维码生成与解析是现代信息化技术中的重要组成部分,广泛应用于日常生活和商业活动中,如名片交换、网址链接、支付凭证等。本教程将通过一个名为“QREncodeAndDecode”的压缩包文件,深入讲解二维码的基本原理、...

    java的二维码生成与解析

    Java二维码生成与解析是计算机编程领域中的一个常见技术,尤其在移动互联网和物联网应用中扮演着重要角色。本文将深入探讨Java如何实现二维码的生成与解析,并分享一个源自日文网站的相关程序,供读者学习和实践。 ...

    基于安卓二维码生成与解析系统设计与实现-源码

    本项目"基于安卓二维码生成与解析系统设计与实现-源码"旨在为开发者提供一套完整的二维码生成与解析解决方案,适用于移动应用开发,尤其是需要用户快速获取或输入信息的场景。 1. **二维码生成** 在Android系统中...

    com.google.zxing 二维码生成与解析

    **标题:“com.google.zxing 二维码生成与解析”** **核心知识点:** 1. **ZXing库介绍**:ZXing,全称为“Zebra Crossing”,是Google开发的一个开源的、跨平台的条码读取库。它支持多种条码和二维码格式,包括QR...

Global site tag (gtag.js) - Google Analytics