大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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);
}
}
效果图:
扫描结果:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/226842.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...