日本人写的解码与编码实现Sourceforge.jp与swetake.com
这里把它们merge到一个jar文件里。
编码测试:
Java代码
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;
public class QRCodeEncoderTest {
public static void main(String[] args) throws Exception {
Qrcode qrcode=new Qrcode();
qrcode.setQrcodeErrorCorrect('M');
qrcode.setQrcodeEncodeMode('B');
qrcode.setQrcodeVersion(7);
String testString = "_-+^%$#@!~`=&)*(";
byte[] d =testString.getBytes("GBK");
BufferedImage bi = new BufferedImage(139, 139, BufferedImage.TYPE_INT_RGB);
// createGraphics
Graphics2D g = bi.createGraphics();
// set background
g.setBackground(Color.WHITE);
g.clearRect(0, 0, 139, 139);
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);
}
}
}
}
g.dispose();
bi.flush();
String FilePath="TestQRCode.png";
File f = new File(FilePath);
ImageIO.write(bi, "png", f);
System.out.println("doned!");
}
}
解码测试:
Java代码
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.imageio.ImageIO;
import jp.sourceforge.qrcode.QRCodeDecoder;
import jp.sourceforge.qrcode.data.QRCodeImage;
import jp.sourceforge.qrcode.exception.DecodingFailedException;
public class QRCodeDecoderTest {
public QRCodeDecoderTest() {
}
public static void main(String[] args) {
QRCodeDecoder decoder = new QRCodeDecoder();
File imageFile = new File("TestQRCode.png");
BufferedImage image = null;
try {
image = ImageIO.read(imageFile);
} catch (IOException e) {
System.out.println("Error: "+ e.getMessage());
}
try {
String decodedData = new String(decoder.decode(new J2SEImage(image)),"GBK");
System.out.println(decodedData);
} catch (DecodingFailedException dfe) {
System.out.println("Error: " + dfe.getMessage());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
class J2SEImage implements QRCodeImage {
BufferedImage image;
public J2SEImage(BufferedImage image) {
this.image = image;
}
public int getWidth() {
return image.getWidth();
}
public int getHeight() {
return image.getHeight();
}
public int getPixel(int x, int y) {
return image.getRGB(x, y);
}
}
相关推荐
QRCodeUtils使用文档详见博客https://blog.csdn.net/qq_24091555/article/details/81263472
这是一个基于java开发的二维码生成与解析 可以根据程序配置的参数设置生成二维码的图片大小 以及密度 这是一个基于java开发的二维码生成与解析 可以根据程序配置的参数设置生成二维码的图片大小 以及密度 这是一个...
Java 二维码生成与解析是Java开发中常见的功能需求,尤其在移动互联网时代,二维码被广泛应用于数据交换、链接跳转、支付凭证等场景。本文将详细介绍如何使用Google的ZXing库来实现Java环境下的二维码生成与解析。 ...
以上就是使用Java和ZXing库实现二维码生成与解析的基本步骤。在实际应用中,可能需要根据具体需求进行错误处理、格式调整、定制样式等。源码文件中的内容可能包括了这些更具体的实现细节,可以深入研究以获取更全面...
Java二维码生成技术是一种在软件开发中常用的功能,它允许我们将数据编码成二维图像,以便于快速扫描和读取。Qrcode(二维码)是日本Denso Wave公司发明的一种矩阵式条形码,相比于传统的条形码,它能存储更多的数据...
以下是一些关于Java二维码生成与解析的关键知识点: 1. **依赖库**: - `QRCode.jar`:这是用于生成和解码二维码的库,它可能包含了`jp.sourceforge.qrcode`和`com.swetake.util.Qrcode`这两个包,这两个包提供了...
Java 实现生成二维码和解析二维码 URL 操作示例 Java 是一种广泛使用的编程语言,具有强大的功能和灵活性。在实际应用中,生成二维码和解析二维码 URL 是非常常见的操作。本文将详细介绍 Java 实现生成二维码和解析...
二维码生成及解析内涵两个java类原码与QRCode所需的jar包。 《主要是生成二维码图片》 《主要是生成二维码图片》 《主要是生成二维码图片》 《主要是生成二维码图片》 《主要是生成二维码图片》 《主要是生成二维码...
总的来说,这个Java QRCode二维码生成与识别开源项目提供了一整套解决方案,从生成包含汉字的二维码到读取和解析二维码图像。开发者可以利用这些工具进行各种应用开发,如移动支付、信息分享、门票验证等。通过深入...
Java语言提供了多种库来支持二维码的生成与解析,其中Zxing(Zebra Crossing)是一个开源项目,专为多种一维条码和二维条码提供读取、生成功能。本文将深入探讨如何在Java中利用Zxing库进行二维码的生成与解析。 ...
Java二维码生成与解析是Java开发中的一个重要功能,它涉及到数据编码、图像处理和解码算法等多个技术领域。在这个话题中,我们将深入探讨如何在Java环境中创建和读取二维码(Quick Response Code),以及相关的编程...
Java 二维码生成与解析包,在原有的基础上打包的,易用简单使用方法参照
二维码生成和解析是现代信息化技术中的重要组成部分,尤其在移动互联网和物联网领域中广泛应用。Java作为一门跨平台的编程语言,提供了丰富的库和工具来支持二维码的生成与解析。本篇将详细介绍如何在Java环境中实现...
Java二维码生成通常依赖于第三方库,如ZXing(Zebra Crossing)或Java QRCode Library。ZXing是一个开源项目,提供了多种条形码和二维码的读写能力。在Java中使用ZXing,我们需要添加对应的依赖,如果你使用的是...
在IT行业中,二维码作为一种高效的信息编码方式,广泛应用于各种场景,如链接分享、电子票务、产品追溯等。本教程将深入讲解如何使用...通过这个简单的"java 二维码生成及解析demo",你将能够快速上手并掌握相关技术。
Java二维码生成和解析是开发过程中常见的一项功能,它涉及到图像处理和编码解码技术。本文将深入探讨如何在Java环境中实现二维码的生成与解析,并基于提供的源码进行讲解。 首先,二维码(Quick Response Code)是...
总结来说,这个Java Web二维码生成与解析实例涵盖了Java编程、Web开发、二维码编码解码以及HTTP服务处理等多个技术领域。通过实践这个实例,开发者不仅可以掌握基础的二维码操作,还能深入理解Java Web应用的开发...
java版本,二维码解析和生成代码,亲测成功,并已用于项目开发,集成于springmvc架构。...二维码生成方法是在controller中调用。返回的是二维码保存的路径,二维码保存地址文件夹事先建好,没有设置成自动生成。
Java二维码生成与解析是开发Web应用时常用的功能,特别是在移动互联网时代,二维码作为一种便捷的数据交换方式,被广泛应用在登录、支付、分享等多个场景。本文将详细介绍如何在Java环境中生成和解析二维码,以及...
本代码为二维码生成和解析的Java实现代码,包括三个类和一个QRCode的jar包(一个jar包用于生成二维码,一个jar包用于读取二维码尤其用于读取的jar包不好下载,所以就一起放进来了,方便大家学习使用),一个生成...