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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

利用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);
}
}

Jetbrains全家桶1年46,售后保障稳定

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 程序员如何学习量化交易,一文总结

    程序员如何学习量化交易,一文总结最近有位金融行业的朋友想把一个盈利能力很强的策略做成量化程序遇到问题,问题是这样的线程A在while(true)的循环里做条件判断,循环耗时1分钟。循环结束判断条件满足的时候调用交易接口下单建仓。想实现条件成立马上建仓,而不需要等待1分钟的循环。想通过多进程或者多线程方式,但两个线程不知道如何交互。对有经验的开发来说这样的逻辑很简单,只要通过线程通信的方式就可以实现。A线程判断到满足条件就发个消息给B线程,B线程while(true)等待消息就行。技术本身不复杂,只是没接触过编程的不知道还可以这么干

  • 新建表sql语句

    新建表sql语句一、新建表新建学生表(student):createtablestudent(idintnotnull,namevarchar2(50),sexvarchar2(25),birthdayvarchar2(225),createtimetimestamp,primarykey(id));给表和字段添加注释:commentonta

    2022年10月16日
  • 网页音乐播放器代码

    网页音乐播放器代码网页音乐播放器代码如果你也想往自己的博客里,网页里加入音乐播放器,只要复制下面的网页音乐播放器代码,做适当的修改就可以啦!有很多播放器可以选择,不要挑花眼哦!中true或1表示自动播放,false或0表示手动播放loop=”true”中的true或1表示重复播放,f

  • 软件需求规格说明书范例

    完整版(包括图片表格,请访问http://www.omegaxyz.com/2019/07/23/software-specification/)文章目录一、引言1.1定位与目标1.2对象1.3软件需求分析理论1.4软件需求分析目标二、需求概述2.1项目背景2.2需求概述2.3系统结构三、系统功能需求3.1功能总览3.2业务流程图3.3数据流…

  • intellijidea2021最新激活码_最新在线免费激活

    (intellijidea2021最新激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • 什么叫结构化数据半结构化数据和非结构化数据(xml是非结构化数据)

    计算机信息化系统中的数据分为结构化数据和非结构化数据、半结构化数据。结构化数据结构化数据,是指由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。也称作行数据,一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。比如: id name gen…

发表回复

您的电子邮箱地址不会被公开。

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