我正在寻找 java (J2SE) 中的开源 QR 码图像生成器组件,但开源许可证不能是 GPL 许可证(需要包含在封闭源代码项目中)。
顺便说一句,我无法从该项目访问网络,因此没有 Google API。
Mercer - 不,图书馆里也有一个编码器。com.google.zxing.qrcode.encoder。除了使用 Google Chart API 的示例网络应用程序之外,我们还提供了
ZXing是一个开源的、多格式的一维/二维条码图像处理库,用 Java 实现。它是根据The Apache License 发布的,因此它允许使用源代码来开发专有软件以及免费和开源软件。
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 );
}
顺便说一句,在 API 中强加 Hashtable 并不干净。请使用地图。无论如何,仍然没有多少人仍然使用 Hashtable,您几乎应该总是使用 HashMap 代替(少数用例除外)。