博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用zxing生成和解析二维码
阅读量:6424 次
发布时间:2019-06-23

本文共 2840 字,大约阅读时间需要 9 分钟。

package test;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax.imageio.ImageIO;import org.junit.Test;import com.google.zxing.BarcodeFormat;import com.google.zxing.Binarizer;import com.google.zxing.BinaryBitmap;import com.google.zxing.EncodeHintType;import com.google.zxing.LuminanceSource;import com.google.zxing.MultiFormatReader;import com.google.zxing.MultiFormatWriter;import com.google.zxing.NotFoundException;import com.google.zxing.Result;import com.google.zxing.WriterException;import com.google.zxing.client.j2se.BufferedImageLuminanceSource;import com.google.zxing.client.j2se.MatrixToImageWriter;import com.google.zxing.common.BitMatrix;import com.google.zxing.common.HybridBinarizer;public class Erweima {    /**     * 生成二维码     */    @Test    public void create(){         try {            String content = "https://www.baidu.com/";//一般放url,比如微信,扫描后直接跳转到指定url链接             String path = "E:/";//生成的二维码指定一个地方存放             MultiFormatWriter multiFormatWriter = new MultiFormatWriter();             Map hints = new HashMap();             hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");             BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, 400, 400,hints);             File file1 = new File(path,"love.jpg");//生成的二维码名字love.jpg,可以自己指定叫什么名字,以图片的格式             MatrixToImageWriter.writeToFile(bitMatrix, "jpg", file1);        } catch (WriterException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }    /**     * 解析二维码     */    @Test    public void get(){        try {            MultiFormatReader formatReader = new MultiFormatReader();            String filePath = "E:/love.jpg";            File file = new File(filePath);            BufferedImage image = ImageIO.read(file);;            LuminanceSource source = new BufferedImageLuminanceSource(image);            Binarizer  binarizer = new HybridBinarizer(source);            BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);            Map hints = new HashMap();            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");            Result result = formatReader.decode(binaryBitmap,hints);            System.out.println("result = "+ result.toString());            System.out.println("resultFormat = "+ result.getBarcodeFormat());            System.out.println("resultText = "+ result.getText());        } catch (NotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }}

 所需jar包:https://files.cnblogs.com/files/fpc-syq/zxing%E7%94%9F%E6%88%90%E4%BA%8C%E7%BB%B4%E7%A0%81%EF%BC%88jdk1.6%E4%B8%8B%E4%BA%B2%E6%B5%8B%E5%8F%AF%E7%94%A8%EF%BC%89.zip

转载于:https://www.cnblogs.com/fpc-syq/p/8384451.html

你可能感兴趣的文章
火柴棒等式(2008年NOIP全国联赛提高组)
查看>>
mongodb int型id 自增
查看>>
【转】关于大型网站技术演进的思考(十八)--网站静态化处理—反向代理(10)...
查看>>
Java中的4种代码块
查看>>
Ocelot(七)- 入门
查看>>
生成水杯热气
查看>>
程序员工作心法
查看>>
三个常用的PHP图表类库
查看>>
python中异常处理--raise的使用
查看>>
高中数学与初中数学的接轨点
查看>>
python 安装第三方模块
查看>>
Whitelabel Error Page 专题
查看>>
Spring Data Redis—Pub/Sub(附Web项目源码)
查看>>
RSD和wlwmanifest是什么
查看>>
Linkedin工程师是如何优化他们的Java代码的(转)
查看>>
winfrom 如何保存datagridview中的某一行数据
查看>>
面向领域驱动的应用开发框架Apworks 2.0发布
查看>>
开发自己的Web服务处理程序(以支持Ajax框架异步调用Web服务方法)
查看>>
ref和out
查看>>
黑客教父详解账号泄露全过程:1亿用户已泄露
查看>>