使用zxing生成和识别二维码

maven

        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.3.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.3.0</version>
        </dependency>

生成二维码

public static void generateQrCode(OutputStream out,String content, int width, int height, String format) throws WriterException, IOException {
        //format="png"
        Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
        // 设置QR二维码的纠错级别(H为最高级别)具体级别信息
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        // 内容所使用编码
        hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
        // 设置图片的边距
        hints.put(EncodeHintType.MARGIN,1);
        // 生成矩阵
        BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
                BarcodeFormat.QR_CODE, width, height, hints);
        // 输出图像
        MatrixToImageWriter.writeToStream(bitMatrix,format,out);
    }

识别二维码

public static Result decodeQrCode(InputStream inputStream) throws IOException, NotFoundException {
        BufferedImage image = ImageIO.read(inputStream);
        LuminanceSource source = new BufferedImageLuminanceSource(image);
        Binarizer binarizer = new HybridBinarizer(source);
        BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
        Map<DecodeHintType, Object> hints = new HashMap<DecodeHintType, Object>();
        hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
        Result result = new MultiFormatReader().decode(binaryBitmap, hints);// 对图像进行解码
        return result;
    }

doc

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 自从昨日给无戒老师做了个二维码设计后,很多简友都纷纷来问二维码是如何设计才会好看呢? 由于此次教程复杂各位,请把设...
    夏唸薇阅读 5,165评论 13赞 21
  • 欢迎Follow我的GitHub, 关注我的简书. 威尔逊得分排序算法,Wilson Score,用于质量排序,数...
    SpikeKing阅读 33,562评论 3赞 32
  • 我们的世界潮涨潮落,并无恒长。无论是怎样的奋斗和成功,无论何等的痛苦和磨砺,都会很快渗入浪涛中,就像水墨料泼洒在纸上
    泰勒的男人阅读 311评论 0赞 0
  • 2017年2月9日 1~转述别人的东西太多,会有什么样的影响?转述的事情往往说的是另外一方,需要做的就是澄清事实!...
    阿甘阿干阅读 1,023评论 0赞 0
  • 1.早饭,一同事主动与我聊如何治疗白发,因为他看了我朋友圈发的一位会员白发调理对比图,很感兴趣,问如何来治疗,我简...
    武汉大刚阅读 392评论 0赞 0

友情链接更多精彩内容