22

我正在寻找 java (J2SE) 中的开源 QR 码图像生成器组件,但开源许可证不能是 GPL 许可证(需要包含在封闭源代码项目中)。

顺便说一句,我无法从该项目访问网络,因此没有 Google API。

4

3 回答 3

26

Mercer - 不,图书馆里也有一个编码器。com.google.zxing.qrcode.encoder。除了使用 Google Chart API 的示例网络应用程序之外,我们还提供了

于 2009-07-23T14:34:55.180 回答
14

ZXing是一个开源的、多格式的一维/二维条码图像处理库,用 Java 实现。它是根据The Apache License 发布的,因此它允许使用源代码来开发专有软件以及免费和开源软件。

于 2009-07-16T13:08:09.530 回答
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 );
    }

顺便说一句,在 API 中强加 Hashtable 并不干净。请使用地图。无论如何,仍然没有多少人仍然使用 Hashtable,您几乎应该总是使用 HashMap 代替(少数用例除外)。

于 2011-05-09T11:06:04.447 回答