这里二维码插件用的是QRcode;
用的时候需导入core.jar和javase.jar的jar包;
package test;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.EncodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Reader;
import com.google.zxing.ReaderException;
import com.google.zxing.Result;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
public class QRcode {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws WriterException {
QRcode t=new QRcode();
//t.encode();
t.decode();
String text="姓名:张三;年龄:25;电话:15188254969;";//二维码内容;
int width=100;
int height=100;
String format="png";
@SuppressWarnings("rawtypes")
Hashtable hints=new Hashtable();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BitMatrix bitMatrix=new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, hints);
File outputFile=new File("D:\\Users\\Administrator\\Workspaces\\MyEclipse 10\\strutsLianxi2\\WebRoot\\img\\a.png");
try {
MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);
} catch (IOException e) {
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
public void decode() {
try {
@SuppressWarnings("unused")
Reader reader = new MultiFormatReader();
String imgPath = "D:\\Users\\Administrator\\Workspaces\\MyEclipse 10\\strutsLianxi2\\WebRoot\\img\\a.png"; //这里把生成的二维码图片保存在tomcat的路径里面
File file = new File(imgPath);
BufferedImage image;
try {
image = ImageIO.read(file);
if (image == null) {
System.out.println("Could not decode image");
}
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(
source));
Result result;
@SuppressWarnings("rawtypes")
Hashtable hints = new Hashtable();
hints.put(DecodeHintType.CHARACTER_SET, "utf-8");
result = new MultiFormatReader().decode(bitmap, hints);
String resultStr = result.getText();
System.out.println(resultStr);
} catch (IOException ioe) {
System.out.println(ioe.toString());
} catch (ReaderException re) {
System.out.println(re.toString());
}
} catch (Exception ex) {
}
}
}
在jsp中显示的时候用img 标签接受;
如 :<img src="img/a.png" alr="">
获得tomcat中的路径:
String path = getServletContext().getRealPath("/");
此时得到的路径是到你工程的webRoot目录下,然后你图片的路径就可以写为:
Stiring imgPath = path + "img/a.png";
分享到:
相关推荐
本资源"Java生成二维码QRcode.jar&&DEMO.rar"提供了一种解决方案,它包含了一个名为"QRcode.jar"的库文件以及一个DEMO示例,方便开发者快速理解和使用。 "QRcode.jar"是专门用于生成和解析二维码的Java库,它封装了...
在Java中实现二维码(QRCode)的编码和解码,主要依赖于特定的类库,这里提到的是"Qrcode.jar"。这个库提供了一系列的工具和API,使得开发者能够轻松地在Java应用中生成和读取二维码。接下来,我们将详细探讨如何...
Java实现二维码QRCode的编码和解码是移动互联网时代中常见的技术应用,广泛用于数据交换、链接分享等场景。二维码(Quick Response Code)是一种二维条形码,可以存储大量信息,如文本、网址、联系人信息等。在Java...
### Java生成二维码QRCode简单认识(推荐使用jquery方式生成) #### 一、二维码简介 二维码(QR Code,Quick Response Code)是一种矩阵式二维条码,由日本Denso Wave公司于1994年发明。其设计目的是为了提高数据...
本代码为二维码生成和解析的Java实现代码,包括三个类和一个QRCode的jar包(一个jar包用于生成二维码,一个jar包用于读取二维码尤其用于读取的jar包不好下载,所以就一起放进来了,方便大家学习使用),一个生成...
首先,我们需要引入一个Java二维码生成库,例如`com.google.zxing`库中的`javase`模块,这个模块提供了生成和解码二维码的功能。你可以通过Maven或Gradle将其添加为项目依赖。 ```xml <!-- Maven --> <groupId>...
在IT行业中,二维码(Quick Response Code,简称QRCode)是一种广泛应用的数据编码技术,它通过黑白相间的几何图形来存储各种信息,如文字、图片、网址等。Java作为一门广泛使用的编程语言,拥有丰富的库和API支持对...
1.通过QRCode.jar包生成二维码,可设置二维码图片格式,二维码图片存放路径,二维码尺寸,二维码颜色 2.二维码扫描内容分为两种,1种为链接式,如:www.zdkc.com,通过链接展示访问的内容,1种为json数据展示,通过...
二维码(Quick Response Code,简称QRCode)是一种二维条形码,可以存储大量的文本、数字、网址等信息。在Java中,实现二维码的编码和解码是通过特定的库来完成的,例如Zxing(Zebra Crossing)库。下面将详细介绍...
四、Java二维码生成包功能: 1. **生成二维码**:该代码包提供了API接口,允许开发者输入文本、URL或其他数据,自定义生成二维码的大小、颜色、纠错级别等参数。 2. **解码读取**:除了生成,这个包还支持解码功能,...
Java QRCode二维码生成与识别是Java编程领域中的一个重要技术,主要应用于数据编码和快速信息交换。QRCode(Quick Response Code)是一种二维条码,能够存储大量的文本信息,包括字母、数字、汉字等,并且可以被各种...
工程基于QRcode.jar,生成300*300左右的二维码png图片,没有白边,图片复杂度会根据输入内容自动变化,信息少时图片较为简单,信息多时图片会自动变得复杂,解决了以往二维码工程图像大小不一,图形复杂度不会根据...
本篇将详细介绍如何在Java中生成二维码以及如何将生成的二维码转换为Base64编码。 首先,我们来看如何在Java中生成二维码。Java中常用的二维码生成库有`ZXing (Zebra Crossing)`和`javapns`。这里以`ZXing`为例,它...
本教程将详细讲解如何使用`QRCode.jar`库在Java中生成带有Logo的二维码,以及所需的基本步骤和关键知识点。 首先,我们需要了解`QRCode.jar`库。这是一个专门用于生成二维码的Java库,它提供了方便的API接口,使得...
在本文中,我们将探讨如何使用Java来生成二维码。二维码是一种二维条形码,可以存储大量信息,如文本、URL或二进制数据。在Java中,有多种库可以帮助我们实现二维码的生成,以下将详细介绍几种常见方法。 1. **...
现在我们详细探讨如何在Java中实现二维码生成以及将其转换为Base64编码。 首先,让我们关注Java生成二维码的部分。在Java中,我们可以使用开源库如`zbar`或`javaseqrcode`(也称为`ZXing`,Zebra Crossing的缩写)...
二维码(Quick Response Code,简称QR码)是一种二维条形码,可以存储大量数据,包括文本、URL、联系信息等,并且能被智能手机等设备快速读取。在Java中,我们可以利用特定的库来生成和解析二维码。这个压缩包包含了...
这个项目包含了二维码的生成与解析功能,并且提供了所有必要的JAR文件,使得开发者可以方便地在自己的应用中集成这些功能。 1. **QRcode生成**: 生成二维码的过程涉及到编码算法,它将文本信息转换为特定的二进制...
二维码技术因此应运而生,其具有更高的信息容量和密度,强大的错误纠正能力以及较高的安全性,尤其是QRCode这类快速响应的二维码技术,已成为当前二维码技术的主流代表。 #### 矩阵式二维码与QR码 矩阵式二维码,...