Java 生成二维码_二维码生成规则

Java 生成二维码_二维码生成规则利用Java生成二维码生成二维码的依赖下载:点击下载代码:packagecom.shuai.test02;importcom.swetake.util.Qrcode;importjavax.imageio.ImageIO;importjava.awt.*;importjava.awt.image.BufferedImage;importjava.io.File;importjava.nio.charset.StandardCharsets;publicclas

利用Java 生成二维码


生成二维码的依赖下载:
点击下载

代码:

package com.shuai.test02;

import com.swetake.util.Qrcode;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.nio.charset.StandardCharsets;

public class QrCodeEncoderHandler { 
   
    public void encoderQrCode(String text, String imPath) { 
   
        try { 
   
            Qrcode qrcodeHandler = new Qrcode();
            // 设置二维码排错率,可选L(7%)、M(15%)、Q(25%)、H(30%), 排错率越高可存储的信息越少,但对二维码的清晰度要求越小
            qrcodeHandler.setQrcodeErrorCorrect('M');
            // 编码模式: B Binary二进制
            qrcodeHandler.setQrcodeEncodeMode('B');
            qrcodeHandler.setQrcodeVersion(5);
            // UTF-8 的编码方式
            byte[] textBytes = text.getBytes(StandardCharsets.UTF_8);
            // 设置图片的大小
            BufferedImage bufImage = new BufferedImage(600, 600, BufferedImage.TYPE_INT_RGB);
            Graphics2D gs = bufImage.createGraphics();
            // 设置背景颜色
            gs.setBackground(Color.WHITE);
            gs.clearRect(0, 0, 600, 600);
            // 设定图像颜色
            gs.setColor(Color.BLACK);
            int pixoff = 2;
            // 输出内容
            if (textBytes.length > 0 && textBytes.length < 800) { 
   
                boolean[][] codeOut = qrcodeHandler.calQrcode(textBytes);
                for (int i = 0; i < codeOut.length; i++) { 
   
                    for (int j = 0; j < codeOut.length; j++) { 
   
                        if (codeOut[j][i]) { 
   
                            gs.fillRect(j * 16 + pixoff, i * 16 + pixoff, 16, 16);
                        }
                    }
                }
            }
            gs.dispose();
            bufImage.flush();
            File imgFile = new File(imPath);
            // 指定路径写图片(二维码图片)
            ImageIO.write(bufImage, "png", imgFile);
        } catch (Exception e) { 
   
            e.printStackTrace();
        }
    }

    public static void main(String[] args) { 
   
        String imPath = "F:\\" + "123" + ".png";
        String text = "老二,你个傻狍子";
        QrCodeEncoderHandler handler = new QrCodeEncoderHandler();
        handler.encoderQrCode(text, imPath);
        System.out.println("imPath:" + imPath);
    }
}

效果图:
Java生成的二维码
扫描结果:
微信扫描结果

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226842.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 机器学习之数据预处理

    在sklearn之数据分析中总结了数据分析常用方法,接下来对数据预处理进行总结当我们拿到数据集后一般需要进行以下步骤:(1)明确有数据集有多少特征,哪些是连续的,哪些是类别的(2)检查有没有缺失

    2021年12月30日
  • MySQL 5.7的原生JSON数据类型使用

    MySQL 5.7的原生JSON数据类型使用

    2022年2月18日
  • 数据库:SQLServer 实现行转列、列转行用法笔记

    数据库:SQLServer 实现行转列、列转行用法笔记

    2020年11月14日
  • py2exe打包多个py文件_Python导入包

    py2exe打包多个py文件_Python导入包上回在《使用PyInstaller打包Python程序》中,我们介绍了使用PyInstaller对Python程序进行打包,今天带大家认识一个新的工具:py2exe。接下来将从这几个方面进行介绍:基本使用方法、高级参数、注意点等。简介&amp;安装py2exe是一个将python脚本转换成Windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可…

    2022年9月11日
  • 联想笔记本电脑键盘灯怎么开启_联想键盘灯怎么开

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。联想笔记本键盘灯的打开方法如下:1、正常情况下,在键盘上同时按下“FN”和“空格”键打开即可。2、部分早期的Thinkpad笔记本电脑需要通过“Fn+PageUp”组合键开启。如果电脑键盘的“Space(空格键)”按键上有类似太阳的标识符号,电脑一般带有键盘背光,使用“Fn+Space(空格键)”组合键即可开启键盘背光。若“Sp…

    2022年4月5日
  • 软件测试知识点合集总结怎么写_软件测试经典笔试题

    软件测试知识点合集总结怎么写_软件测试经典笔试题第一章1、软件测试的定义:IEEE给出的定义——软件测试是使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。《软件测试技术基础》——软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。2、软件测试的目的软件质量:1.发现…

    2022年10月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号