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生成的二维码
扫描结果:
微信扫描结果

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

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

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


相关推荐

  • CentOS时间的查看与修改

    CentOS时间的查看与修改

    2022年2月21日
    63
  • Qt之log数据展示模块简要实现

    Log模块主要用于实时测井数据的显示和测后曲线数据的预览和打印,为更好的展示对Qt中相关知识点的应用,特以Log模块为例对其进行简要实现。内容导图:一、功能需求1、界面效果图Log模块实现曲线

    2021年12月29日
    43
  • 并发系列(3)之 CLH、MCS 队列锁简介

    并发系列(3)之 CLH、MCS 队列锁简介这篇博客主要是作为AbstractQueuedSynchronizer的背景知识介绍;平时接触也非常的少,如果你不感兴趣可以跳过;但是了解一下能更加的清楚AQS的设计思路;一、自旋锁简介通

    2022年8月2日
    3
  • 2022-Java面试宝典收藏版

    2022-Java面试宝典收藏版Java基础目录前言一、基础篇1.1.Java语言有哪些特点1.2.面向对象和面向过程的区别1.3.八种基本数据类型的大小,以及他们的封装类1.4.标识符的命名规则。1.5.instanceof关键字的作用1.6.Java自动装箱与拆箱1.7.重载和重写的区别1.8.equals与==的区别1.9.Hashcode的作用1.10.String、StringStringBuffer和StringBuilder的区别是什么?1.11.ArrayList和linkedLi

    2022年9月16日
    0
  • 免费国内php空间_评测对焦速度

    免费国内php空间_评测对焦速度国外免费PHP空间终极对比,来自http://www.free-webhosts.com/php-hosting-comparison.php,http://www.free-webhosts.com是国外一家专业收集免费空间的网站,本博客以前也介绍过它:http://www.zhukun.net/blog/article.asp?id=154。其提供的免费空间数据,颇有参考价值。  此次评比

    2022年9月21日
    0
  • Java—网络编程

    Java—网络编程1.网络编程的基本概念1.1网络的概念网络:一组相互连接的计算机,多台计算机组成,使用物理线路进行连接1.2网络连接的功能1.3网络编程的三要素1)IP地址:唯一标识网络上的每一台计算机,两台计算机之间通信的必备要素。2)端口号:计算机中应用的标号(代表一个应用程序),0-1024系统使用或保留端口,端口号占2个字节,所以有效端口0-65535.3)通信协议:通信的规则TCP,UDP4)注意:在通信协议相同的情况下,端口号才是唯一的。2.IP_端口_Scoket含义2.1IP地

    2022年7月8日
    20

发表回复

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

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