java如何生成二维码呢?

欣喜 Java经验 发布时间:2024-01-19 16:23:26 阅读数:3511 1
下文笔者讲述java代码生成二维码的方法及示例分享,如下所示

Java生成二维码的实现思路

1.引入相应的依赖 com.google.zxing
2.使用 MatrixToImageWriter 生成相应的二维码
例:Java 生成二维码
 <!--二维码生成和解析-->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.3.3</version>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.3.3</version>
        </dependency>
 
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.io.File;
import java.util.HashMap;
import java.util.UUID;
 
public class CreateQRCode {
 
    /**
     * 生成纯二维码
     *
     * @param content   二维码内容
     * @param filePath  路径
     */
    public static String createCode(String content,String filePath){
        //定义二维码的参数
        HashMap hashMap = new HashMap();
        hashMap.put(EncodeHintType.CHARACTER_SET, "utf-8"); //设置编码
        hashMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M); //设置容错等级,等级越高,容量越小
        hashMap.put(EncodeHintType.MARGIN, 2); //设置边距
        //生成二维码
        try {
            //生成矩阵
            //内容              格式                   宽           高
            BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 300, 300, hashMap);
 
            String codeName = UUID.randomUUID().toString().replace("-","").substring(0,8);// 二维码的图片名
            String imageType = "jpg";// 图片类型
            // D:xxx/xxx.jgp
            File newFile = new File(filePath, codeName + "." + imageType);
            File dir = newFile.getParentFile();
            if (!dir.exists()) {
                // 创建文件夹
                dir.mkdirs();
            }
            // 创建文件
            newFile.createNewFile();
            MatrixToImageWriter.writeToFile(bitMatrix, imageType, newFile); //输出图像
            return codeName+".jpg";
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }
 
    public static void main(String[] args) {
        String codeName = createCode("https://www.java265.com", "D:/QR_code");
        System.out.println("生成二维码名称: "+codeName);
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202401/17056526467709.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者