【java二维码】

  • 依赖
<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.2.1</version>
</dependency>
<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>javase</artifactId>
    <version>3.2.1</version>
</dependency>

qr生成二维码

package cn.itcast.test;

import com.baidu.aip.util.Base64Util;
import com.google.zxing.BarcodeFormat;
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 javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.nio.file.Path;
import java.util.Base64;

public class QRCodeTest {

//    public static void main(String[] args) throws Exception {
//        //1.二维码中的信息
//        String content = "http://www.itcast.cn";
//        //2.通过zxing生成二维码(保存到本地图片,支持以data url的形式体现)
//
//        //创建QRCodeWriter对象
//        QRCodeWriter writer = new QRCodeWriter();
//        //基本配置
//        /**
//         * 1.二维码信息
//         * 2.图片类型
//         * 3.宽度
//         * 4.长度
//         */
//        BitMatrix bt = writer.encode(content, BarcodeFormat.QR_CODE, 200, 200);
//        //保存二维码到本地
//        Path path = new File("C:\\Users\\ThinkPad\\Desktop\\ihrm\\day11\\test.png").toPath();
//        MatrixToImageWriter.writeToPath(bt,"png",path);
//    }

    //生成dataUrl形式的二维码
    public static void main(String[] args) throws Exception {
        //1.二维码中的信息
        String content = "http://159.75.106.44:8080/aiMusic/#/home";
        //2.通过zxing生成二维码(保存到本地图片,支持以data url的形式体现)
        //创建QRCodeWriter对象
        QRCodeWriter writer = new QRCodeWriter();
        //基本配置
        BitMatrix bt = writer.encode(content, BarcodeFormat.QR_CODE, 200, 200);
        //创建ByteArrayOutputstream
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        //将二维码数据以byte数组的形式保存到ByteArrayOutputstream
        /**
         * 1:image对象
         * 2:图片格式
         * 3:Outputstream
         */
        BufferedImage image = MatrixToImageWriter.toBufferedImage(bt);
        ImageIO.write(image,"png",os);
        //对byte数组进行base64处理
        String encode = Base64Util.encode(os.toByteArray());
        System.out.println(new String("data:image/png;base64,"+encode));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值