以前看到二维码,总觉得这是一个神奇的东西,也没有去深入的了解过,最近一个偶然的机会接触到了二维码,真实的体会了它的奥妙之处,然后就从中汲取了一些养分与大家分享,希望对大家有用,代码如下:
工具类(Util )
import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Shape;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.OutputStream;
import java.util.Hashtable;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class Util {
private static final String CHARSET = "utf-8";
private static final String FORMAT = "JPG";
private static final int QRCODE_SIZE = 300; // 二维码尺寸
private static final int LOGO_WIDTH = 60; // LOGO高度
private static final int LOGO_HEIGHT = 60;// LOGO宽度
/**
* 生成二维码
*
* @param content
* 内容
* @param logoPath
* LOGO地址
* @param destPath
* 存放目录
* @param needCompress
* 是否压缩LOGO
* @throws Exception
*/
public static String encode(String content, String logoPath, String destPath, boolean needCompress,String fileName)
throws Exception {
BufferedImage image = QRCodeUtil.createImage(content, logoPath, needCompress);
mkdirs(destPath);
ImageIO.write(image, FORMAT, new File(destPath + "/" + fileName+".jpg"));