最常见的就是QRcode二维码
一、Zxing
1.推荐使用Zxing Google出的,大厂商,文档齐全。也可生成条形码,Android上一般也采用Zxing。
2.可生成、读取二维码,可嵌入图片(logo),支持中文
3.编写代码量很少,就可生成二维码
4.生成的二维码的位点少,好识别
5.生成的二维码,占用存储空间小,2K
所需jar包:core-2.2.jar,jdk 1.6。自2.2以后需要jdk1.7,否则会报错
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/zxing/EncodeHintType : Unsupported major.minor version 51.0
所需jar包:core-2.2.jar,附件提供
二、SwetakeQRCode
1.下载jar包都费劲,不推荐
2.可生成、读取二维码,可嵌入图片(logo),支持中文
3.编写代码量较多
4.生成的二维码的位点多,
5.生成的二维码,占用存储空间少,1K
所需jar包:QRCode.jar
代码参考:
http://www.oschina.net/code/snippet_1762525_49027
三、 barcode4j
datamatrix
PDF417
采用datamatrix算法,生成的二维码是长方形的,不是我想要的
貌似不支持中文
存储容量较大,8K-24K,因为他的黑点旁边有灰色格线
所需jar包:avalon-framework-4.2.0.jar,barcode4j.jar
代码参考:
http://liuwei1981.iteye.com/blog/368812
有一句有问题
// ret = FileUtil.getInputStreamFromBytes(baos.toByteArray());
ret = new ByteArrayInputStream(baos.toByteArray());
补充方法
public static void saveFile(InputStream is, String fileName) throws Exception { FileOutputStream fos = new FileOutputStream(new File(fileName)); byte[] b = new byte[1024]; while((is.read(b)) != -1){ fos.write(b); } is.close(); fos.close(); } public static void main(String[] args) throws Exception { InputStream is = CodeService.getInstance().getCodeImage("Tiantian,I love you!", CodeService.BARCODE_TYPE ); saveFile(is, "D:/barcode4j.png"); }
二维码里嵌图片logo,就是利用二维码容错机制实现的,其实就是在二维码上画的图片,
Zxing样例:
参考:http://tec.5lulu.com/detail/110d4n2ehcg9a857d.html#tec_dir1
import java.io.File; import java.util.Hashtable; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.common.BitMatrix; public class Main { public static void main(String[] args) throws Exception { String text = "甜甜,我爱你!"; // 二维码内容 int width = 300; // 二维码图片宽度 int height = 300; // 二维码图片高度 String format = "png";// 二维码的图片格式 Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(); hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); // 内容所使用字符集编码 BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, hints); // 生成二维码 File outputFile = new File("d:" + File.separator + "new.png"); MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile); } }
import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; import com.google.zxing.common.BitMatrix; /** * 二维码的生成需要借助MatrixToImageWriter类,该类是由Google提供的,可以将该类直接拷贝到源码中使用 */ public class MatrixToImageWriter { private static final int BLACK = 0xFF000000; private static final int WHITE = 0xFFFFFFFF; private MatrixToImageWriter() { } public static BufferedImage toBufferedImage(BitMatrix matrix) { int width = matrix.getWidth(); int height = matrix.getHeight(); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE); } } return image; } public static void writeToFile(BitMatrix matrix, String format, File file) throws IOException { BufferedImage image = toBufferedImage(matrix); if (!ImageIO.write(image, format, file)) { throw new IOException("Could not write an image of format " + format + " to " + file); } } public static void writeToStream(BitMatrix matrix, String format, OutputStream stream) throws IOException { BufferedImage image = toBufferedImage(matrix); if (!ImageIO.write(image, format, stream)) { throw new IOException("Could not write an image of format " + format); } } }
js jquery.qrcode生成二维码 带logo 支持中文
http://happyqing.iteye.com/blog/2294628
ZXing生成二维码,以及给二维码添加Logo
http://my.oschina.net/Rayn/blog/215055
Zxing和QR CODE 生成与解析二维码实例(带logo篇)
http://blog.csdn.net/gao36951/article/details/41149049
ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
http://blog.csdn.net/sanfye/article/details/45749139
带圆角LOGO的QrCode二维码实时生成 (这个格式太乱了)
http://www.th7.cn/Program/java/201412/336803.shtml
相关推荐
这是Zxing的源码,没有打包成jar利于学习使用。...使用时注意path的默认地址,Main类中是生成二维码的代码,GetMain类中是读取二维码的代码。 eclipse中Ctrl+Shift+R快速查找类 希望对你有所帮助。
以下是关于使用Java生成条形码的三个主要方法的详细解释:barcode4j、jbarcode和google-zxing。 1. **barcode4j**: Barcode4J是一个开源的Java库,基于Apache 2.0许可,专门用于生成各种类型的条形码。它使用XML...
错误纠正级别用于在二维码部分损坏时仍能恢复数据,通常有L(低)、M(中)、Q(高)和H(最高)四个等级,数值越大,纠错能力越强,但生成的二维码也会更大。 为了更好地理解和使用这个Demo,你可以创建一个新的C#...
在C#中生成二维码,我们可以利用开源库,如 ZXing.Net(也称为 BarcodeReader 和 BarcodeWriter) 或 QRCoder。这两个库都提供了简单易用的API,帮助开发者快速实现二维码的生成和解析。 ZXing.Net 是一个流行的...
ZXing,全称为Zebra Crossing,是一个开源的、多平台的条形码和二维码读取与生成库。这个项目在Java平台上起源于2007年,后来发展出多个语言的版本,包括.NET Framework的ZXing.Net。在VB.NET环境下,ZXing库提供了...
本篇将深入探讨如何使用Java结合ZXing库来生成包含文字标签信息的条形码和二维码。 ZXing,全称为“Zebra Crossing”,是一个开源的、跨平台的条码读取和生成项目。它支持多种条码格式,包括一维条形码(如EAN-13、...
在C#中,我们通常会引入第三方库,如“ZXing.Net”(又称BarcodeReader),这是一个开源的、跨平台的条形码和二维码解码库,也支持生成二维码。你可以通过NuGet包管理器将其添加到项目中。 安装ZXing.Net库后,你...
在本示例"android二维码扫描ZXingDemo"中,我们将探讨如何集成ZXing到Android应用中实现二维码扫描功能。 首先,我们需要在Android项目中引入ZXing库。可以通过两种方式实现:一是直接将ZXing的源码导入项目,二是...
同样,ZXing.Net库提供了`BarcodeReader`类,用于读取和解析二维码图像。它支持多种图像格式,并能自动定位和识别图像中的多个二维码。通过调用`Read()`方法,我们可以获取到二维码中的数据。 在实际应用中,我们...
4. **XtraPort生成二维码**:虽然XtraPort的主要功能不是生成二维码,但通过自定义扩展或利用其导出功能,可以将数据转换为二维码并保存为图片。这通常需要对二维码编码库的调用,比如 ZXing.Net 或 QRCoder。 5. *...
描述中提到的“用了别人的东西改了一下”,指的是开发者可能利用了现有的开源二维码库,如ZXing (Zebra Crossing) 或qrcode4vb等,对源代码进行了一些修改,以适应自己的需求。 ZXing是一个广泛使用的开源项目,...
在Delphi中,有许多第三方库可以用来生成二维码,如`ZXing.Net Barcode Reader`(原名`ZXing.Delphi`)和`qrcode-delphi`等。如果`QRCode.pas`是一个自定义实现,那么我们需要理解这个单元中的函数和过程,以便正确...
本例介绍了四种二维码生成方式: 1. java下有三种: zxing(google开源项目), qrcode(官网:http://www.qrcode.com/), barcode4j(官网:http://barcode4j.sourceforge.net/) 2. js下一种,基于jquery-qrcode...
生成这些编码的库在Java中有很多选择,例如ZXing(Zebra Crossing)和Java Barcode Generator。 ZXing是一个开源项目,提供了多种条码和二维码的读取与生成功能。要使用ZXing生成一维码和二维码,你需要引入ZXing的...
在Android应用开发中,生成二维码主要使用了开源库,如ZXing(Zebra Crossing)或AndroidX的` Barcode`组件。 ZXing是一个流行的开源项目,提供了多种条形码和二维码的读写功能。要使用ZXing在Android中生成二维码...
ZXing是一个开源的、跨平台的条码和二维码读取与生成库,而QrCodeDelphi则是专为Delphi设计的轻量级二维码生成组件。这里我们以ZXing为例,介绍如何在Delphi项目中集成二维码生成功能。 1. 集成ZXing库: - 下载...
在Java中,我们可以利用开源库来生成二维码,如`ZXing (Zebra Crossing)`或`qrcode-java`。这两个库都提供了方便的API,可以轻松地将字符串(比如URL)转换为二维码图像。 3. **ZXing库的使用** `ZXing`库,也...
Zxing.NET是C#版本的Zxing(又名BarcodeReader)库,它提供了读取和生成条形码与二维码的能力。首先,需要在项目中引入Zxing.Net.Bindings库,通过以下代码生成二维码: ```csharp usingZXing; usingZXing.QrCode; ...
Zxing.Net(也称为 BarcodeReader 或 BarcodeWriter)是一个流行的开源库,它可以用于读取和生成多种条码和二维码,包括QR码。要使用此库,首先需要通过NuGet包管理器安装`ZXing.Net`。 安装完成后,可以创建一个新...