QRCodeGenerator.java package helper;import com.google.zxing.BarcodeFormat;import com.google.zxing.MultiFormatWriter;import com.google.zxing.WriterException;import com.google.zxing.client.j2se.MatrixToImageWriter;import com.google.zxing.comm
package helper; import com.google.zxing.BarcodeFormat; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import java.io.IOException; import java.io.OutputStream; /** * 二维码生成器. */ public class QRCodeGenerator { public static void generateCodeToStream(OutputStream out, String qrCodeString, BarcodeFormat format, int height, int width, String contentType) throws WriterException, IOException { // get a byte matrix for the data BitMatrix matrix = null; com.google.zxing.Writer writer = new MultiFormatWriter(); try { matrix = writer.encode(qrCodeString, format, width, height); } catch (IllegalArgumentException ex) { throw new WriterException(ex.getMessage()); } MatrixToImageWriter.writeToStream(matrix, contentType, out); } public static void main(String[] args) throws Exception { java.io.FileOutputStream out = new java.io.FileOutputStream( "/tmp/qr_code.png"); //generateQrCodeToStream(out,"12345678901",BarcodeFormat.UPC_A,30,100,"PNG"); generateCodeToStream(out, "http://www.hyshi.cn/test?website=x&a=2", BarcodeFormat.QR_CODE, 300, 300, "PNG"); } }