一、引入依赖
<!-- 二维码依赖 -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.github.liuyueyi.media</groupId>
<artifactId>qrcode-plugin</artifactId>
<version>2.5.2</version>
</dependency>
<!-- 二维码依赖 -->
二、测试代码
public static void main(String[] args) {
//生成普通二维码
generalCode("普通二维码", "D://QRcode//TEST.png");
//生成彩色二维码
coloredCode("橙色二维码", "D://QRcode//ORANGE.png");
}
private static void coloredCode(String content, String outPath) {
try {
BufferedImage image = QrCodeGenWrapper.of(content)
.setDrawPreColor(Color.ORANGE)
.asBufferedImage();
ImageIO.write(image, "png", new FileOutputStream(outPath));
} catch (IOException e) {
e.printStackTrace();
} catch (WriterException e) {
e.printStackTrace();
}
}
public static void generalCode(String content, String outPath) {
int width = 900;
int height = 900;
String format = "png";
System.out.println(content.length());
HashMap hints = new HashMap();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
hints.put(EncodeHintType.MARGIN, 2);
try {
BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
BarcodeFormat.QR_CODE, width, height, hints);
Path file = new File(outPath).toPath();
MatrixToImageWriter.writeToPath(bitMatrix, format, file);
} catch (Exception e) {
e.printStackTrace();
}
}
三、展示效果
自行演示

676

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



