【Java】二维码生成,QRcode

QRcode jar包下载地址:http://swetake.com/qrcode/java/qr_java.html

解析的工具可以参考 zxing

代码如下

package erweima;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import com.swetake.util.Qrcode;

 


public class QRCodeUtils{
/**
* 编码字符串内容到目标File对象中
*
* @param encodeddata 编码的内容
* @param destFile 生成file文件 1381090722 5029067275903
* @throws IOException
*/
public static void qrCodeEncode(String encodeddata, File destFile) throws IOException {
Qrcode qrcode = new Qrcode();
qrcode.setQrcodeErrorCorrect('M'); // 纠错级别(L 7%、M 15%、Q 25%、H 30%)和版本有关
qrcode.setQrcodeEncodeMode('B');
qrcode.setQrcodeVersion(7); // 设置Qrcode包的版本

byte[] d = encodeddata.getBytes("GBK"); // 字符集
BufferedImage bi = new BufferedImage(139, 139, BufferedImage.TYPE_INT_RGB);
// createGraphics // 创建图层
Graphics2D g = bi.createGraphics();

g.setBackground(Color.WHITE); // 设置背景颜色(白色)
g.clearRect(0, 0, 239, 239); // 矩形 X、Y、width、height
g.setColor(Color.BLACK); // 设置图像颜色(黑色)

if (d.length > 0 && d.length < 123) {
boolean[][] b = qrcode.calQrcode(d);
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b.length; j++) {
if (b[j][i]) {
g.fillRect(j * 3 + 2, i * 3 + 2, 3, 3);
}
}
}
}

// Image img = ImageIO.read(new File("D:/tt.png")); logo
// g.drawImage(img, 25, 55,60,50, null);

g.dispose(); // 释放此图形的上下文以及它使用的所有系统资源。调用 dispose 之后,就不能再使用 Graphics 对象
bi.flush(); // 刷新此 Image 对象正在使用的所有可重构的资源

ImageIO.write(bi, "png", destFile);
System.out.println("Input Encoded data is:" + encodeddata);
}


public static void main(String[] args) {
String FilePath = "G://qrcode.png";
File qrFile = new File(FilePath);

// 二维码内容
String encodeddata = "http://www.baidu.com/";
try {
QRCodeUtils.qrCodeEncode(encodeddata, qrFile);
} catch (IOException e) {
e.printStackTrace();
}

}
}

转载于:https://www.cnblogs.com/xiaodon1992/p/7427690.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux db2 ssl,IBM DB2 Content Manager V83与手工配置SSL

此文章主要向大家描述的是IBM DB2 Content Manager V83系统中&#xff0c;手工配置SSL的实际操作步骤&#xff0c;在IBM DB2 Content Manager V83系统中&#xff0c;一般的情况下都需要使用SSL协议。 在安装IBM DB2 Content Manager V83系统时。安装程序可以完成对IBM HTTP Ser…

打印机每天都要重新连接

打印机每天都要重新连接 打印机每天都要重新连接 各位大侠请教一个菜鸟问题 LAN中一台电脑连接打印机并共享 但只要作为打印服务器的这台电脑关机或者重启 其他电脑出现打印机无响应 必要要重新连接打印机才能使用 检查打印机服务器如下设置&#xff1a; 工作组共享问题详细解决…

JS字符串与二进制的相互转化

//字符串转ascii码&#xff0c;用charCodeAt(); //ascii码转字符串&#xff0c;用fromCharCode(); var str "A"; var code str.charCodeAt(); var str2 String.fromCharCode(code);十进制转二进制 var a "i"; console.log(a.charCodeAt()); //105 cons…

c语言 ipc 参数 序列化,浅谈IPC通信之序列化与反序列化(三)

由于进行通信肯定要涉及数据的处理&#xff0c;所以我们需要先了解两个基础的概念&#xff0c;序列化和反序列化。定义序列化&#xff1a;将对象转化为可保存的字节序列(注意是对象)&#xff1b;反序列&#xff1a;将字节序列恢复为对象的过程。序列化和反序列的用途&#xff1…

选择什么样的时机将IT运维服务外包

选择什么样的时机将IT运维服务外包IT外包这个词更能让大家理解当然它包含很多业务形式&#xff0c;可以是软件模块开发&#xff0c;软件测试&#xff0c;企业IT运维等等。服务商会引用国外某专家的话&#xff1a;把自己不擅长的业务包出去是全球的业务发展趋势。但是事实是否真…

bzoj4773 负环

Description 在忘记考虑负环之后&#xff0c;黎瑟的算法又出错了。对于边带权的有向图 G (V, E)&#xff0c;请找出一个点数最小的环&#xff0c;使得 环上的边权和为负数。保证图中不包含重边和自环。 Input 第1两个整数n, m,表示图的点数和边数。 接下来的m行&#xff0…

工业无线遥控器 SUNRF-1011RC

工业无线遥控器 SUNRF-1011RC工业无线遥控器产品 授权操作 一&#xff1a;简介&#xff1a;工业无线遥控器&#xff0c;是针对工业环境&#xff0c;专门设计的无线控制替代有线控制的方案。和有线控制一样&#xff0c;具有实时性、灵活性、多路同时操作、操作灵活顺畅无…

C语言封装带省略参数的函数,C与C++的函数声明中省略参数的不同意义

一直都以为C/C中形如int func();这样的函数声明其意义就是一个参数 void(没有参数)的函数。然而今天在看C的时候突然看到这么一句&#xff1a;对于带空参数表的函数&#xff0c;C和C有很大的不同。在C语言中&#xff0c;声明int func2();表示“一个可带任意参数(任意数目&#…

常见的CSS和HTML面试题

1. 常用那几种浏览器测试&#xff1f;有哪些内核(Layout Engine)? 浏览器&#xff1a;IE&#xff0c;Chrome&#xff0c;FireFox&#xff0c;Safari&#xff0c;Opera。 内核&#xff1a;Trident&#xff0c;Gecko&#xff0c;Presto&#xff0c;Webkit。 2. 说下行内元素和块…

理解快速生成树协议(RSTP)(二)

RSTP引进了新的BPDU处理以及一种新的拓扑结构改变机制。即使没有从根桥处接收到任何信号&#xff0c;每个网桥在每次“hello时间周期中”中都生成BPDU。BPDU扮演了在网桥间进行消息通知的角色。如果一个网桥不能从临近网桥处收到BPDU&#xff0c;它就会认为与这个网桥失去了连接…

C语言位运算

一、位运算符&#xff23;语言提供了六种位运算符&#xff1a;& 按位与| 按位或^ 按位异或~ 取反<< 左移>> 右移1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时&#xff0…

c语言运行后没生成exe,这个程序怎么运行?为什么显示没有exe??

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include #include #include #include #include void main(){void welcome();void over(int x);void state();void score(int x);void hp(int x);welcome();state();char key;int x, y,a,m;int sc 0,wc 0;srand(time(NU…

网络工程师之广域网必胜篇一

完全没有必要看网工的教程&#xff0c;仔细阅读完以下篇幅&#xff0c;基本上能够应付网工的考试了&#xff0c;注意&#xff0c;一定要是仔细阅读。<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />广域网广域网&#xff08;WAN…

POJ2243 Knight Moves —— A*算法

题目链接&#xff1a;http://poj.org/problem?id2243 Knight MovesTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 14500 Accepted: 8108Description A friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the short…

c语言多重括号,大佬在吗,我用C写了一个去多重括号的函数,结果。。。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include #include "malloc.h"char * changeOrder(char *s);struct Node{char *data;struct Node * link;};struct Node * top1 NULL;struct Node * top2 NULL;void Push1(char *s){struct Node * temp (str…