zxing方式生成二维码
2017-03-24 21:53
169 查看
1.用zxing方式生成:需要的jar包---------https://pan.baidu.com/s/1qX8D7AW
package com.lrq.entity;
import java.io.File;
import java.nio.file.Path;
import java.util.HashMap;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class CreateQRCode {
private static final BarcodeFormat BarcodeFormat = null;
public static void main(String[] args){
int width=300;
int height=300;
String format="png";
String content="www.baidu.com";
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, height, width,hints);
Path file=new File("D:/img.png").toPath();
MatrixToImageWriter.writeToPath(bitMatrix,format,file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2.解析二维码
package com.lrq.entity;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import javax.imageio.ImageIO;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class ReadQR_Code {
public static void main(String[] args){
MultiFormatReader formatReader=new MultiFormatReader();
File file=new File("D:/img.png");
BufferedImage image;
try {
image = ImageIO.read(file);
HashMap hints=new HashMap();
/*字符编码*/
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BinaryBitmap binaryBitmap=new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
Result result=formatReader.decode(binaryBitmap,hints);
System.out.println("解析结果:"+result.toString());
System.out.println("解析格式"+result.getBarcodeFormat());
System.out.println("解析文本"+result.getText());
} catch (NotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.lrq.entity;
import java.io.File;
import java.nio.file.Path;
import java.util.HashMap;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class CreateQRCode {
private static final BarcodeFormat BarcodeFormat = null;
public static void main(String[] args){
int width=300;
int height=300;
String format="png";
String content="www.baidu.com";
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, height, width,hints);
Path file=new File("D:/img.png").toPath();
MatrixToImageWriter.writeToPath(bitMatrix,format,file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2.解析二维码
package com.lrq.entity;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import javax.imageio.ImageIO;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class ReadQR_Code {
public static void main(String[] args){
MultiFormatReader formatReader=new MultiFormatReader();
File file=new File("D:/img.png");
BufferedImage image;
try {
image = ImageIO.read(file);
HashMap hints=new HashMap();
/*字符编码*/
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BinaryBitmap binaryBitmap=new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
Result result=formatReader.decode(binaryBitmap,hints);
System.out.println("解析结果:"+result.toString());
System.out.println("解析格式"+result.getBarcodeFormat());
System.out.println("解析文本"+result.getText());
} catch (NotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相关文章推荐
- java生成二维码的三种方式zxing、qrcode以及jqueryqrcode
- 获取Java生成二维码所需要的Jar包(zxing方式)
- 获取Java生成二维码所需要的Jar包(zxing方式)
- java生成二维码使用QRCode和ZXing两种方式
- C#生成二维码zxing方式
- 采用ZXing方式生成二维码
- JAVA生成二维码(使用zxing方式)
- Java通过zxing方式实现二维码的生成与解析
- java生成二维码使用QRCode和ZXing两种方式
- Java生成二维码(zxing方式)
- java生成二维码使用QRCode和ZXing两种方式
- java生成二维码使用QRCode和ZXing两种方式
- Java--生成二维码(zxing方式)
- PHP生成一维码,二维码各种方式
- 使用google的zxing类生成一维码、二维码实例
- php生成二维码可以有以下几种方式
- zxing二维码的生成与解码(C#)
- 使用google的zxing类生成一维码、二维码实例
- Java利用Zxing生成二维码
- Android平台利用ZXING生成二维码图片