日本人写的解码与编码实现Sourceforge.jp与swetake.com
这里把它们merge到一个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;
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!");
}
}
解码测试:
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);
}
}
分享到:
相关推荐
【标题】"QRCode.zip_openvc一扫码_qrcode开源库_二维码 opencv_二维码 zbar_二维码opencv" 提供了一个关于使用OpenCV和ZBar库进行二维码扫描的项目实例。这个压缩包包含了一个名为"QRCode"的解决方案文件(QRCode....
其中,QrCode.Net是一个流行的开源库,它使得在C#项目中生成二维码变得简单易行。 QrCode.Net库允许开发者通过几行代码就能创建出符合国际标准的二维码。这个库支持多种编码格式,包括URL、文本、电话号码等,并且...
在描述中提到的"DELPHI XE5 FireMonkey2 for Win32的二维码QRCODE 生成",是指使用DELPHI XE5和FireMonkey2库来在Windows 32位平台上生成二维码(QRCODE)的技术。 首先,我们来看一下标签:"XE5 二维码 QRCODE"。...
ZXing是一个开源的、多格式的一维和二维条码图像处理库,支持多种编码格式,包括QRCode。 首先,我们需要引入ZXing.Net库到我们的VB.NET项目中。这可以通过NuGet包管理器来完成,搜索"ZXing.Net"并安装。安装完成后...
市面上有许多开源和商业的二维码生成和读取库,如JavaScript的`qrcode-generator`库、Python的`pyqrcode`库以及Android和iOS的系统集成的二维码读取API。开发者可以利用这些工具轻松实现二维码功能的集成。 **五、...
这个类可能使用了开源的二维码生成库,如Zxing(ZXing.NET Delphi版本),或者自行实现了二维码编码算法。 生成二维码的关键步骤包括: 1. **数据编码**:将要编码的信息(如文本、URL)转换成二进制数据。 2. **...
在C# Windows Mobile开发中,生成和实时扫描二维码QRcode是一项关键功能,尤其在移动设备应用中,二维码常用于快速传递信息。以下是对这个主题的详细解析: **1. C#编程基础** C#是一种面向对象的编程语言,由微软...
在Winform应用中,可以使用开源的QRcode生成库,如ZXing.Net,它提供了方便的API来创建二维码。首先,需要安装ZXing.Net的NuGet包,然后在代码中引用相关的类和方法。以下是一个简单的示例: ```csharp using ZXing...
1. **二维码QrCode** 二维码是一种二维条形码,由黑白相间的模块组成,可存储大量的数据。相比一维条形码,二维码能够在一个小的空间内编码更多的信息,且支持错误检测和纠正。 2. **Android开发中的二维码应用** ...
Java实现二维码QRCode的编码和解码是移动互联网时代中常见的技术应用,广泛用于数据交换、链接分享等场景。二维码(Quick Response Code)是一种二维条形码,可以存储大量信息,如文本、网址、联系人信息等。在Java...
ZXing(Zebra Crossing)是Google开发的一个开源的、跨平台的条码解码库,支持多种类型的条码和二维码,其中包括QRCode。ZXing提供了Java、Android、.NET等多种语言的API,使得开发者可以方便地集成二维码的读取和...
在PHP中生成二维码,通常会使用开源的库来简化这个过程。这里就使用的比较流行的库phpqrcode等。本资源即是PHP使用这个库调用API生成二维码的调试程序。phpqrcode 是一个用于生成 QR 码的 PHP 类库,它提供了简单、...
ZXing是一个开源的条码处理库,支持多种条码格式,包括QRCode。以下是一个简单的Java代码示例,演示如何使用ZXing生成二维码: ```java import com.google.zxing.*; import com.google.zxing.common.BitMatrix; ...
#二维码(QRcode)生成算法 C语言/C++ 源码 1. 根据输入字符串识别编码模式; 2. 根据输入字符串长度选择合适的QRcode版本; 3. 将编码转换为二进制位流表示为数据码字; 4. 使用多项式生成纠错码; 5. 将数据码和...
另外,还有一些第三方库,如`ZXing.Net`,它是一个流行的开源库,用于读取和生成多种条形码和二维码,包括QRCode。 **生成QRCode的基本步骤:** 1. **引入依赖库**:对于`ZXing.Net`,你需要在项目中添加NuGet包...
总的来说,这个Java QRCode二维码生成与识别开源项目提供了一整套解决方案,从生成包含汉字的二维码到读取和解析二维码图像。开发者可以利用这些工具进行各种应用开发,如移动支付、信息分享、门票验证等。通过深入...
### Java生成二维码QRCode简单认识(推荐使用jquery方式生成) #### 一、二维码简介 二维码(QR Code,Quick Response Code)是一种矩阵式二维条码,由日本Denso Wave公司于1994年发明。其设计目的是为了提高数据...
这样就能通过test参数生成相应的二维码了 // 引入库文件 include __DIR__ . '/phpqrcode.php'; $errorCorrectionLevel = 'L'; $matrixPointSize = 9; $text = isset($_GET['text']) ? $_GET['text'] : ''; // php...