下载QRCode.jar
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import com.swetake.util.Qrcode;
/**
* 二维码生成器
* @blog http://sjsky.iteye.com
* @author Michael
*/
public class QRCodeEncoderHandler {
/**
* 生成二维码(QRCode)图片
* @param content
* @param imgPath
*/
public void encoderQRCode(String content, String imgPath) {
try {
Qrcode qrcodeHandler = new Qrcode();
qrcodeHandler.setQrcodeErrorCorrect('M');
qrcodeHandler.setQrcodeEncodeMode('B');
qrcodeHandler.setQrcodeVersion(7);
System.out.println(content);
byte[] contentBytes = content.getBytes("gb2312");
BufferedImage bufImg = new BufferedImage(140, 140,
BufferedImage.TYPE_INT_RGB);
Graphics2D gs = bufImg.createGraphics();
gs.setBackground(Color.WHITE);
gs.clearRect(0, 0, 140, 140);
// 设定图像颜色> BLACK
gs.setColor(Color.BLACK);
// 设置偏移量 不设置可能导致解析出错
int pixoff = 2;
// 输出内容> 二维码
if (contentBytes.length > 0 && contentBytes.length < 120) {
boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);
for (int i = 0; i < codeOut.length; i++) {
for (int j = 0; j < codeOut.length; j++) {
if (codeOut[j][i]) {
gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);
}
}
}
} else {
System.err.println("QRCode content bytes length = "
+ contentBytes.length + " not in [ 0,120 ]. ");
}
gs.dispose();
bufImg.flush();
File imgFile = new File(imgPath);
// 生成二维码QRCode图片
ImageIO.write(bufImg, "png", imgFile);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 生成二维码(QRCode)图片
* @param content
* @param imgPath
*/
public void encoderQRCode(String content, String imgPath,String ccpath) {
try {
Qrcode qrcodeHandler = new Qrcode();
qrcodeHandler.setQrcodeErrorCorrect('M');
qrcodeHandler.setQrcodeEncodeMode('B');
qrcodeHandler.setQrcodeVersion(7);
System.out.println(content);
byte[] contentBytes = content.getBytes("gb2312");
BufferedImage bufImg = new BufferedImage(140, 140,
BufferedImage.TYPE_INT_RGB);
Graphics2D gs = bufImg.createGraphics();
gs.setBackground(Color.WHITE);
gs.clearRect(0, 0, 140, 140);
// 设定图像颜色> BLACK
gs.setColor(Color.BLACK);
// 设置偏移量 不设置可能导致解析出错
int pixoff = 2;
// 输出内容> 二维码
if (contentBytes.length > 0 && contentBytes.length < 120) {
boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);
for (int i = 0; i < codeOut.length; i++) {
for (int j = 0; j < codeOut.length; j++) {
if (codeOut[j][i]) {
gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);
}
}
}
} else {
System.err.println("QRCode content bytes length = "
+ contentBytes.length + " not in [ 0,120 ]. ");
}
BufferedImage image = ImageIO.read(new File(ccpath));
gs.drawImage(image,55,55,null);
gs.dispose();
bufImg.flush();
File imgFile = new File(imgPath);
// 生成二维码QRCode图片
ImageIO.write(bufImg, "png", imgFile);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String imgPath = "D:/aa/QRCode.png";
String content = "Hello 大大、小小,welcome to QRCode!"
+ "\nMyblog [ www.xxx.com ]"
+ "\nEMail [ xxx@gmail.com ]"
+ "\nTwitter [ @suncto ]";
QRCodeEncoderHandler handler = new QRCodeEncoderHandler();
handler.encoderQRCode(content, imgPath);
System.out.println("encoder QRcode success");
}
}
相关推荐
用Java生产二维码超简单~~~ Qrcode qrcode=new Qrcode();qrcode.setQrcodeVersion(8);//0~40 qrcode.setQrcodeEncodeMode('B'); qrcode.setQrcodeErrorCorrect('H');//L M Q H
在Java编程环境中,生成二维码是一项常见的任务,尤其在移动应用、网页链接分享或者电子票务等领域广泛应用。二维码(Quick Response Code)是一种二维条形码,能够存储大量的信息,包括文字、数字、URL等。本篇将...
### 基于Java的二维码识别系统知识点概述 #### 二维码技术的演进与应用 一维条码自诞生以来,极大地推动了生产和生活方式的变革,然而其信息存储量有限、过度依赖数据库等缺陷,逐渐无法满足现代社会对信息记录与...
从QR Code码的英文名称Quick Response Code可以看出,超高速识读特点是QR Code码区别于四一七条码、Data Matrix等二维码的主要特性。由于在用CCD识读QR Code码时,整个QR Code码符号中信息的读取是通过QR Code码...
本主题聚焦于使用Java编程语言生成二维码,包括相关的库和实现步骤。以下是关于"java生成二维码(文档+代码)"的详细知识讲解: 1. **Zxing库**: Zxing(又称为ZXing,读作“zebra crossing”,斑马线的意思)是...
接下来,我们编写代码来生成二维码: 1. 创建一个`BitMatrix`对象,它是二维码的基础结构,表示黑白二值矩阵。 2. 使用`MultiFormatWriter`类的`encode`方法,将要编码的数据转换为`BitMatrix`对象。 3. 调用`...
3. **编写二维码生成代码**: 使用ZXing提供的`com.google.zxing.client.j2se.MatrixToImageWriter`类,可以将数据编码为一个图像,这便是二维码。例如: ```java Map, ErrorCorrectionLevel> hints = new HashMap...
这个名为“编写Java工程生成二维码”的项目显然关注于使用Java编程语言来实现二维码编码功能。ZXing,全称“Zebra Crossing”,是一个开源的、多平台的条形码和二维码读取与生成库。下面我们将深入探讨这个Java工程...
2. 编写代码生成二维码:创建一个BufferedImage对象,然后使用MultiFormatWriter和BitMatrix来生成二维码数据,最后将BitMatrix转换为BufferedImage对象。以下是一个简单的示例: ```java import ...
在Java Web开发中,生成和打印二维码是一项常见的需求,尤其在物联网、移动支付等领域应用广泛。本主题将详细讲解如何在Java环境中实现二维码的生成与打印。首先,我们需要理解二维码的基本概念,它是一种二维条码,...
接下来,我们编写Java代码来生成二维码并插入图片。以下是一个简单的示例: ```java import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter...
接下来,我们将编写代码来生成二维码。以下是一个简单的示例,展示了如何使用ZXing生成二维码图片: ```java import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import ...
### JAVA生成二维码方法详解 #### 一、二维码简介 二维码是一种在二维空间内存储信息的条形码形式,由黑白相间的图案组成。它能够存储大量数据,包括文本、URL等,并且支持多种编码方式。二维码的设计巧妙地利用了...
接下来,我们将编写一个简单的Java程序来生成二维码。首先,我们需要创建一个`MultiFormatWriter`对象,它可以处理多种编码格式,包括二维码。然后,使用`BitMatrix`来存储二维码的二进制数据。最后,通过`Image...
总结,Java生成二维码的流程包括选择合适的库(如Zxing)、添加依赖、编写编码和解码逻辑、处理参数以及可能的美化操作。通过理解这些概念和实践,你将能够灵活地在Java项目中实现二维码的生成和解析。在这个史上最...
本代码为二维码生成和解析的Java实现代码,包括三个类和一个QRCode的jar包(一个jar包用于生成二维码,一个jar包用于读取二维码尤其用于读取的jar包不好下载,所以就一起放进来了,方便大家学习使用),一个生成...
Java作为一种广泛应用的编程语言,提供了多种库和方法来实现二维码的生成。以下是对"Java 生成二维码源码"这一主题的详细解释。 首先,我们需要了解Java中生成二维码的基本流程: 1. **引入依赖**:生成二维码通常...
在Java编程语言中,生成二维码是一项常见的需求,特别是在移动应用、数据分享和物联网(IoT)场景中。本文将深入探讨如何使用Java实现二维码生成,以及相关的关键知识点。 首先,我们要知道二维码(Quick Response ...
总的来说,实现Java编写的微信二维码支付源码,需要理解微信支付API的使用,掌握网络请求、XML/JSON处理、签名算法、二维码生成以及数据库操作等相关技术。通过合理的架构设计和严谨的编码实践,可以构建出安全可靠...
2. **编写代码**:创建二维码的核心代码如下: ```java import com.google.zxing.*; import com.google.zxing.client.j2se.MatrixToImageConfig; import com.google.zxing.client.j2se.MatrixToImageWriter; import ...