java生成和解析二维码
java生成和解析二维码完整的项目下载地址http://download.csdn.net/download/weixin_39549656/10235029java生成二维码(运用的ZXing技术)完整的目录结构查看ZXing网址 https://github.com/zxing将下面2个文件夹打jar包CreateQRCode.javaimport
·
java生成和解析二维码
http://download.csdn.net/download/weixin_39549656/10235029
java生成二维码(运用的ZXing技术)
完整的目录结构
查看ZXing网址 https://github.com/zxing
将下面2个文件夹打jar包
CreateQRCode.java
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.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class CreateQRCode {
//查看ZXing网址 https://github.com/zxing
public static void main(String[] args) {
int width=300;//生成二维码的宽度
int height=300;//生成二维码高度
String formate="png";//生成二维码的格式
String content="www.cuichongdong.com";//二维码中包含的内容
//定义二维码参数
HashMap hints = new HashMap();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");//二维码包含内容的 个字符集
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);//二维码大小,通常我们用M,Q比M小,L是最小的
hints.put(EncodeHintType.MARGIN, 2);//二维码到外框的边距,默认是5,这里选择2
//生成二维码
try {
BitMatrix bitMatrix=new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hints);
Path file=new File("D:/img.png").toPath();
MatrixToImageWriter.writeToPath(bitMatrix, formate, file);//这里是存放到路径中,writeToStream()是将图片放入流中
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Java解析二维码
ReadQRCode.java
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.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
public class ReadQRCode {
//查看ZXing网址 https://github.com/zxing
public static void main(String[] args) throws Exception {
MultiFormatReader multiFormatReader = new MultiFormatReader();
File file = new File("D:/img.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 = multiFormatReader.decode(binaryBitmap, hints);
System.out.println("解析结果: "+result.toString());
System.out.println("二维码格式类型: "+result.getBarcodeFormat());
System.out.println("二维码文本内容: "+result.getText());
}
}
成功如下
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)