Maven 坐标:
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>2.0</version>
</dependency>
代码:
/**
* 创建二维码
*/
public class CreateQRCode {
public static void main(String[] args) {
int width = 300;
int height = 300;
String formate = "png";
String content = "http://5sing.kugou.com/fc/13842393.html";
// 定义二维码参数
Map 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);
File file = new File("c:/dev/5sing.png");
MatrixToImageWriter.writeToFile(bitMatrix,formate,file);
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
解析二维码示例代码:
/**
* Created by Liwei on 2016/8/7.
* 解析二维码
*/
public class ReadQRCode {
public static void main(String[] args) throws IOException, NotFoundException {
MultiFormatReader formatReader = new MultiFormatReader();
File file = new File("c:/dev/5sing.png");
BufferedImage image = ImageIO.read(file);
BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
HashMap hints = new HashMap();
hints.put(EncodeHintType.CHARACTER_SET,"UTF-8");
Result result = formatReader.decode(binaryBitmap,hints);
System.out.println("解析结果:" +result.toString());
System.out.println("二维码格式类型:" +result.getBarcodeFormat());
System.out.println("二维码文本内容:" +result.getText());
}
}