java 使用zxing生成二维码
2018-01-15 16:59
696 查看
1.先引用要使用的两个jar包
2.代码直接以流的形式在web页面展示
public void show(@RequestParam("code") String code,
HttpServletRequest request, HttpServletResponse response){
QRCodeWriter writer = new QRCodeWriter();
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
BitMatrix bitMatrix = null;
try {
/**
* 1.改变编码格式,不改变源码的情况下:new String(code.getBytes("UTF-8"),"ISO-8859-1");
* 2.改变源码:com.google.zxing.core.qrcode.encoder.Encoder.java static final String DEFAULT_BYTE_MODE_ENCODING = "ISO-8859-1";改为"utf-8"
* */
code=new String(code.getBytes("UTF-8"),"ISO-8859-1");
bitMatrix = writer.encode(code, BarcodeFormat.QR_CODE, 300, 300);
MatrixToImageWriter.writeToStream(bitMatrix, "jpeg", response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}3.二维码解析
public void analysis(File file) {
try {
BufferedImage image;
try {
image = ImageIO.read(file);
if (image == null) {
System.out.println("Could not decode image");
}
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Result result;
@SuppressWarnings("rawtypes")
Hashtable hints = new Hashtable();
//解码设置编码方式为:utf-8
hints.put(DecodeHintType.CHARACTER_SET, "utf-8");
result = new MultiFormatReader().decode(bitmap, hints);
String resultStr = result.getText();
System.out.println("解析后内容:" + resultStr);
} catch (IOException ioe) {
System.out.println(ioe.toString());
} catch (ReaderException re) {
System.out.println(re.toString());
}
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
<!--二维码生成--> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.1</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.2.0</version> </dependency>
2.代码直接以流的形式在web页面展示
public void show(@RequestParam("code") String code,
HttpServletRequest request, HttpServletResponse response){
QRCodeWriter writer = new QRCodeWriter();
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
BitMatrix bitMatrix = null;
try {
/**
* 1.改变编码格式,不改变源码的情况下:new String(code.getBytes("UTF-8"),"ISO-8859-1");
* 2.改变源码:com.google.zxing.core.qrcode.encoder.Encoder.java static final String DEFAULT_BYTE_MODE_ENCODING = "ISO-8859-1";改为"utf-8"
* */
code=new String(code.getBytes("UTF-8"),"ISO-8859-1");
bitMatrix = writer.encode(code, BarcodeFormat.QR_CODE, 300, 300);
MatrixToImageWriter.writeToStream(bitMatrix, "jpeg", response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}3.二维码解析
public void analysis(File file) {
try {
BufferedImage image;
try {
image = ImageIO.read(file);
if (image == null) {
System.out.println("Could not decode image");
}
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Result result;
@SuppressWarnings("rawtypes")
Hashtable hints = new Hashtable();
//解码设置编码方式为:utf-8
hints.put(DecodeHintType.CHARACTER_SET, "utf-8");
result = new MultiFormatReader().decode(bitmap, hints);
String resultStr = result.getText();
System.out.println("解析后内容:" + resultStr);
} catch (IOException ioe) {
System.out.println(ioe.toString());
} catch (ReaderException re) {
System.out.println(re.toString());
}
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
相关文章推荐
- Java使用Zxing生成、解析二维码工具类
- java 使用ZXing生成二维码
- java 使用zxing生成二维码
- JAVA生成二维码(使用zxing方式)
- java 使用zxing 生成二维码
- Java使用ZXing生成二维码条形码
- Java使用谷歌的zxing生成二维码Qrcode并解析提取二维码图片内容
- java生成二维码使用QRCode和ZXing两种方式
- java生成二维码的代码(使用谷歌zxing)
- Java中使用ZXing生成二维码
- java生成二维码(使用zxing.jar)
- 【JAVA】使用ZXing生成嵌套图片的二维码
- java使用zxing生成带logo,文字说明二维码
- 使用zxing生成嵌图片的二维码【java】
- java使用zxing生成二维码
- java使用zxing生成带logo的二维码图片
- java中,使用zxing生成二维码
- 使用zxing生成嵌图片的二维码【java】
- Java实现二维码-使用Zxing生成二维码
- Java使用Zxing生成、解析二维码工具类