二维码之元宵节快乐

时间:2021-2-27 作者:admin

【前言】:首先,祝大家元宵节快乐。今天看到CSDN有一个关于python写元宵节祝福的标题,就突然想到了利用java怎么写元宵节祝福,思量许久就只能想到了System.out.print(“元宵节快乐”);这么一行话。于是想变个花样怎么来,于是想到了利用二维码编写元宵节祝福语。之前从来没有接触过二维码的生成,所以这次特地看了看,实现起来还是很简单的。话不多说,让我们进入正文。

【方式一】适合没有java基础的,不过这个二维码很是粗糙。

banner二维码生成方式:https://www.bootschool.net/qrcode-terminal

【方式二】

相关依赖

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

相关代码

package com.example.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;

/**
 * @author lijiao
 * @create 2021-02-26 10:19
 */
public class QRCode {

    private static final String CHARSET = "utf-8";
    private static final String QR_CODE_IMAGE_PATH = "C:\\Users\\lijiao8\\Desktop\\MyQRCode.png";

    private static void generateQRCodeImage(String text, int width, int height, String filePath) throws WriterException, IOException {
        QRCodeWriter qrCodeWriter = new QRCodeWriter();
        Hashtable hints = new Hashtable();
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        //解决中文乱码
        hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
        hints.put(EncodeHintType.MARGIN, 1);

        BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height,hints);

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

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

    }

    public static void main(String[] args) {
        try {
            generateQRCodeImage("明月当然故乡圆,快乐元宵在人间。祝大家元宵节快乐!", 350, 350, QR_CODE_IMAGE_PATH);
        } catch (WriterException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

输出:

只需要用微信扫面便可看到:“明月当然故乡圆,快乐元宵在人间。祝大家元宵节快乐!”的一段话。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。