栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA生成二维码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA生成二维码

最简单的生成二维码方式,是利用谷歌的zxing包来实现二维码的生成。

本次讲解用到的两个jar包,分别是javase-3.4.1.jar,core-3.4.1.jar。

最新的jar可以在官网https://github.com/zxing这个地址下载。

 

官网下载速度很慢,大家可以到https://pan.baidu.com/s/1TlacsM3RwOxFgDItnMsM3g这个地址下载,提取码是koxg。

我简单写了个生成二维码的类QRCodeGenerator.java,大家可以参考一下。

package com.coffee.qrcode;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.Hashtable;


public class QRCodeGenerator {
    //生成的二维码的路径
    private static final String QR_CODE_IMAGE_PATH = "D:\temp\MyQRCode.png";
    //二维码中的内容
    private static final String QR_CODE_TEXT = "这是二维码中的内容";
    //二维码图片的宽度
    private static int WIDTH = 300;
    //二维码图片的高度
    private static int HEIGHT = 300;

    private static void generateQRCodeImage() throws WriterException, IOException {
        QRCodeWriter qrCodeWriter = new QRCodeWriter();

        Hashtable hints = new Hashtable();
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);//H最高容错等级
        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");

        BitMatrix bitMatrix = qrCodeWriter.encode(QR_CODE_TEXT, BarcodeFormat.QR_CODE, WIDTH, HEIGHT,hints);

        Path path = FileSystems.getDefault().getPath(QR_CODE_IMAGE_PATH);

        MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);

    }

    public static void main(String[] args) throws Exception{
        generateQRCodeImage();
    }
}

这是生成的二维码。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344994.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号