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)


相关推荐

  • 群晖 docker 端口_群晖 l2tp

    群晖 docker 端口_群晖 l2tp最近群晖docker某个容器端口总是被扫描,系统自动封禁了很多IP,遂想更改端口,个人对Linux和docker非常不熟悉,只做记录,如有错误,欢迎指出流程分为以下几个步骤:停止容器修改端口映射重启docker停止容器首先用dockerps命令查看所有的容器名称和id例如容器ID为a1b2c3用dockerstopa1b2c3来停止容器修改端口映射修改端口映射主要在了两个文件hostconfig.json和config.v2.json下面是如何找到这两个文件的路径利用cd/v

    2022年10月18日
  • CUDA安装教程(超详细)

    CUDA安装教程(超详细)目录前言cuda的下载及安装cuda版本CUDAtoolkitDownloadcuda安装cuDNN下载及安装cuDNN下载cuDNN配置参考自前言windows10版本安装CUDA,首先需要下载两个安装包CUDAtoolkit(toolkit就是指工具包) cuDNN注:cuDNN是用于配置深度学习使用官方教程CUDA:InstallationGuideWindows::CUDAToolkitDocumentatio

  • PHOTOSHOP MAC快捷键

    PHOTOSHOP MAC快捷键工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)矩形、椭圆选框工具【M】裁剪工具【C】移动工具【V】套索、多边形套索、磁性套索【L】魔棒工具【W】喷枪工具【J】画笔工具【B】像皮图章、图案图章【S】历史记录画笔工具【Y】像皮擦工具【E】铅笔、直线工具【N】模糊、锐化、涂抹工具【R】减淡、加深、海棉工

  • 中缀表达式转换为后缀表达式(C语言代码+详解)

    中缀表达式转换为后缀表达式(C语言代码+详解)中缀表达式转换为后缀表达式1.创建栈2.从左向右顺序获取中缀表达式a.数字直接输出b.运算符情况一:遇到左括号直接入栈,遇到右括号将栈中左括号之后入栈的运算符全部弹栈输出,同时左括号出栈但是不输出。情况二:遇到乘号和除号直接入栈,直到遇到优先级比它更低的运算符,依次弹栈。情况三:遇到加号和减号,如果此时栈空,则直接入栈,否则,将栈中优先级高的运算符依次弹栈(注意:加号和减号属于同一个…

  • goland激活码2021最新破解方法

    goland激活码2021最新破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 近场动力学matlab程序_一阶惯性环节matlab

    近场动力学matlab程序_一阶惯性环节matlab本发明属于过程控制技术领域,尤其涉及一种镇定一阶惯性加纯滞后系统的线性自抗扰控制器设计方法,进一步涉及一种用于具有时滞的工业过程控制系统的自抗扰控制器设计方法。背景技术:时滞作为一种常见的物理现象,在工业过程和生产生活中随处可见,例如管道对油气的输送、线缆对信号的传递、锅炉的燃烧等过程。这一类过程具有的共性即被控量不能立即对控制量的作用做出反应,这样的特点决定了被控对象输入与输出之间不同步的开环特…

发表回复

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

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