根据用户的个人信息动态生成二维码是工作中不时会碰到的问题,以下工具类实现了这个需求(此文非原创,摘自网络整理资源,仅供个人收藏)
首先定义二维码对象:
package com.test.demo;
import java.awt.image.BufferedImage;
import jp.sourceforge.qrcode.data.QRCodeImage;
public class TwoDimensionCodeImage implements QRCodeImage{
BufferedImage bufImg;
public TwoDimensionCodeImage(BufferedImage bufImg) {
this.bufImg = bufImg;
}
public int getHeight() {
return bufImg.getHeight();
}
public int getPixel(int x, int y) {
return bufImg.getRGB(x, y);
}
public int getWidth() {
return bufImg.getWidth();
}
}
以下即为二维码工具类实现:
package com.test.demo;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import jp.sourceforge.qrcode.QRCodeDecoder;
import jp.sourceforge.qrcode.exception.DecodingFailedException;
import com.swetake.util.Qrcode;
public class TwoDimensionCodeUtil {
/**
* 生成二维码(QRCode)图片保存到指定路径
* @param content 存储内容
* @param imgPath 图片路径
*/
public static void encoderQRCode(String content, String imgPath) {
encoderQRCode(content, imgPath, "png", 7);
}