• 利用JAVA生成二维码


    本文章整理于慕课网的学习视频《JAVA生成二维码》,如果想看视频内容请移步慕课网

    维基百科上对于二维码的解释.

    二维条码是指在一维条码的基础上扩展出另一具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而其长度没有记载数据。二维条码的长度、宽度均记载着数据。二维条码有一维条码没有的“定位点”和“容错机制”。容错机制在即使没有辨识到全部的条码、或是说条码有污损时,也可以正确地还原条码上的信息。

     


    利用JAVA生成QR Code格式的二维码

       相关jar包下载地址(ZXing.jar)。

    public class CreateQRCode {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            //设定二维码宽高,类型,二维码要展示的内容。
            int width = 300;
            int height = 300;
            String format = "png";
            String content = "https://www.baidu.com/";
            //定义二维码参数(格式,错误等级)
            HashMap hints = new HashMap();
            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
            hints.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.M);
            hints.put(EncodeHintType.MARGIN,2);
            
            try {    
                BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height);
                // 二维码生成路径
                Path file = new File("D:/code/img.png").toPath();
                MatrixToImageWriter.writeToPath(bitMatrix, format, file);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    利用JAVA解析二维码

    public class ReadQRCode {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            MultiFormatReader formatReader = new MultiFormatReader();
            // 二维码路径
            File file = new File("D:/code/img.png");
            BufferedImage image;
            try {
                image = ImageIO.read(file);
                BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(
                        new BufferedImageLuminanceSource(image)));
                // 定义二维码参数(格式,错误等级)
                HashMap hints = new HashMap();
                hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
                Result result = formatReader.decode(binaryBitmap, hints);
                // 输出二维码内容
                System.out.println("解析结果:" + result.toString());
                System.out.println("解析结果:" + result.getBarcodeFormat());
                System.out.println("解析结果:" + result.getText());
            } catch (IOException | NotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }
  • 相关阅读:
    Oracle--数据增删改
    Oracle--约束
    Oracle--常用数据类型、创建表
    Oracle基础入门--(用户、角色、权限)
    Oracle基础入门--(数据库、数据库实例、表空间)
    jQuery中的表单验证
    js 判断微信浏览器
    VUE 之 webpack 封装方法例子
    原创自己写的方法,获取url上的参数,返回一个对象
    axios拦截器配合element ui实现http请求的全局加载
  • 原文地址:https://www.cnblogs.com/zgsyjn/p/6035229.html
Copyright © 2020-2023  润新知