Java利用url生成二维码
一、二维码生成工具类,输入为扫描二维码跳转的url,输出是转化后的二维码图片1.导入依赖包:<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.0</version></depende
·
一、二维码生成工具类,输入为扫描二维码跳转的url,输出是转化后的二维码图片
1.导入依赖包:
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.0</version>
</dependency>
2.代码实现:
/**
* @author zx
* @date 2020/9/7
* 生成二维码工具类
*/
public class QRCodeUtil {
private static final String CHARSET = "utf-8";
private static final String FORMAT_NAME = "JPG";
// 二维码尺寸
private static final int QRCODE_SIZE = 300;
/**
* 生成二维码图片
* @param url 扫描二维码跳转地址
* @return
* @throws Exception
*/
public static BufferedImage createImage(String url) throws Exception {
Hashtable hints = new Hashtable();
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
hints.put(EncodeHintType.MARGIN, 1);
BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE,
hints);
int width = bitMatrix.getWidth();
int height = bitMatrix.getHeight();
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
}
}
return image;
}
/**
* 输出二维码
* @param url 扫描二维码跳转地址
* @param response
* @throws Exception
*/
public static void encode(String url, HttpServletResponse response)
throws Exception {
BufferedImage image = QRCodeUtil.createImage(url);
ImageIO.write(image, FORMAT_NAME, response.getOutputStream());
}
}
二、Java二维码的生成与解析:java实现二维码的生成与解析(感谢博主的分享,本文章生成二维码借鉴了该博主的文章)
更多推荐
所有评论(0)