ZXing的解释:

zxing和java,引入jar包
<!-- 谷歌二维码生成jar -->
<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.0</version>
</dependency>
生成二维码字节
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.io.ByteArrayOutputStream;
import java.util.HashMap;
import java.util.Map;
/**
* 谷歌二维码生成工具类
*/
public class ZXingUtils {
/**
* 生成字节码
*
* @param text
* @param width
* @param height
* @return
* @throws Exception
*/
public static byte[] getQRCodeImage(String text, int width, int height) throws Exception {
Map<EncodeHintType, Object> hints = new HashMap<>();
//排错率 L<M<Q<H
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
//编码
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
//外边距:margin
hints.put(EncodeHintType.MARGIN, 0);
QRCodeWriter qrCodeWriter = new QRCodeWriter();
// 第一个参数是内容,或者网址,第二个参数是生成的类型,当前类型是二维码,也可以是条形码,后面是长度宽度,最后是声明的参数map
BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height, hints);
ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
// 使用此方法保存至输出流中
MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOutputStream);
//获取内存缓冲区中的数据
return pngOutputStream.toByteArray();
}
}
664

被折叠的 条评论
为什么被折叠?



