java中的QR码图像生成器(开源但没有GPL)

时间:2009-07-16 12:59:23

标签: java encode qr-code

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

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

3 个答案:

答案 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(除了一些用例)。