我正在寻求java(J2SE)中的开源QR码图像生成器组件,但开源许可证不能是GPL许可证(需要包含在一个密切的源项目中)。
顺便说一句,我无法从项目访问网络,因此没有Google API。
答案 0 :(得分:26)
Mercer - 不,库中也有编码器。 com.google.zxing.qrcode.encoder。除了使用Google Chart API的示例Web应用程序之外,我们还提供了
答案 1 :(得分:14)
ZXing是一个用Java实现的开源,多格式1D / 2D条形码图像处理库。 它是在 The Apache License 下发布的,因此它允许使用源代码开发专有软件以及免费和开源软件。
答案 2 :(得分:2)
MatrixToImageWriter使用BitMatrix,而不是QRCode.getMatrix返回的ByteMatrix。通过查看android源代码,我找到了以下概念证明解决方案:
try {
MultiFormatWriter writer = new MultiFormatWriter();
Hashtable hints = new Hashtable();
hints.put( EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.Q );
MatrixToImageWriter.writeToFile( writer.encode( "hello world", BarcodeFormat.QR_CODE, 800, 800, hints ),
"png", new File( "/tmp/qrcode.png" ) );
} catch ( Exception e ) {
System.out.println( "failure: " + e );
}
btw在API中强制使用Hashtable并不干净。请使用地图。无论如何,仍然没有多少人仍然使用Hashtable,你应该几乎总是使用HashMap(除了一些用例)。