资讯专栏INFORMATION COLUMN

java二维码生成读取

venmos / 1846人阅读

摘要:二维码再生活在无处不在,让我们用最简单的方法揭开二维码的神秘面纱在开始之前,我们需要先引入二维码生成和读取的包,这里我用的是链接密码在这里我分享一个我用的,也可以直接去网上下载。二维码图片读取二维码读取二维码的内容为

二维码再生活在无处不在,让我们用最简单的方法揭开二维码的神秘面纱

在开始之前,我们需要先引入二维码生成和读取的jar包,这里我用的是qrcodejar

链接:https://pan.baidu.com/s/1y5X7... 密码:6wi0
在这里我分享一个我用的,也可以直接去网上下载。

新建一个Java工程,在工程中添加一个lib目录,把两个Jar包放到lib目录下,不要忘了add as libiary

在build.gradle中添加配置
compile fileTree(dir:"lib",include:["*.jar"])
(这里我用的是gradle)

准备工作结束,马上开始

生成二维码
public class QRcodeTest {
    public static void main(String[] args) throws Exception{
        Qrcode qrcode = new Qrcode();
        qrcode.setQrcodeErrorCorrect("M");//纠错等级(分为L、M、H三个等级)
        qrcode.setQrcodeEncodeMode("B");//N代表数字,A代表a-Z,B代表其它字符
        qrcode.setQrcodeVersion(10);//版本
        //生成二维码中要存储的信息
        String qrData ="http://www.baidu.com";
        //设置一下二维码的像素
        int width = 67+12*(10-1);
        int height = 67+12*(10-1);
        BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        //绘图
        Graphics2D gs = bufferedImage.createGraphics();
        gs.setBackground(Color.WHITE);
        gs.setColor(Color.BLACK);
        gs.clearRect(0, 0, width, height);//清除下画板内容

        //设置下偏移量,如果不加偏移量,有时会导致出错。
        int pixoff = 2;

        byte[] d = qrData.getBytes("gb2312");
        if(d.length > 0 && d.length <120){
            boolean[][] s = qrcode.calQrcode(d);
            for(int i=0;i

这样就可以生成一张二维码图片,扫描二维码,会跳转到百度首页。

二维码图片
public class MyQrCodeImage implements QRCodeImage {
    BufferedImage bufferedImage;

    public MyQrCodeImage(BufferedImage bufferedImage) {
        this.bufferedImage = bufferedImage;
    }

    public int getHeight() {
        return bufferedImage.getHeight();
    }

    public int getPixel(int arg0, int arg1) {
        return bufferedImage.getRGB(arg0, arg1);
    }

    public int getWidth() {
        return bufferedImage.getWidth();
    }

}
读取二维码
public class ReadQrCode {

    public static void main(String[] args) throws IOException {
        File file = new File("E:/code/qrcodebd.png");
        BufferedImage bufferedImage = ImageIO.read(file);
        Qrcode qrcode = new Qrcode();
        QRCodeDecoder codeDecoder = new QRCodeDecoder();
        String result = new String(codeDecoder.decode(new MyQrCodeImage(bufferedImage)),"gb2312");
        System.out.println(result);
    }
}

读取二维码的内容为http://www.baidu.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76675.html

相关文章

  • 慕课网_《Java生成维码》学习总结

    摘要:时间年月日星期五说明本文部分内容均来自慕课网。线性堆叠式二维码示意图矩阵式二维码在一个矩形空间通过黑白像素在矩阵中的不同分布进行编码。 时间:2017年06月23日星期五说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学示例源码:无个人学习源码:https://github.com/zccodere/s... 第一章:二维码的概念 1-1 二维码概述...

    QLQ 评论0 收藏0
  • 前端vue、jquery/后台java实现生成维码

    摘要:最近项目中需要开发生成二维码的功能,便于宣传和使用产品,于是便去研究一番,以下是研究的成果使用生成二维码二维码测试内容渲染方式有方式兼容和方式计算模式背景颜色二维码颜色二维码纠错级别默认查看源码可以看出生成的二维码使用生成二维 最近项目中需要开发生成二维码的功能,便于宣传和使用产品,于是便去研究一番,以下是研究的成果 1.使用jquery生成二维码 ...

    happyhuangjinjin 评论0 收藏0
  • Java进阶之路 - 收藏集 - 掘金

    摘要:请欣赏语法清单后端掘金语法清单翻译自的,从属于笔者的入门与实践系列。这篇一篇框架整合友好的文章三后端掘金一理论它始终是围绕数据模型页面进行开发的。 RxJava 常用操作符 - Android - 掘金 原文地址 http://reactivex.io/documenta... ... RxJava 和 Retrofit 结合使用完成基本的登录和注册功能 - Android - 掘...

    BakerJ 评论0 收藏0
  • 分享一个本人打造的公众号吸粉、推广方案。

    Hello 大家好!又要跟大家见面了,上次实在太无聊了,就在博客园跟大家讲述了本人职业生涯以来的一些工作经历,同时也分享了一些工作上的心得,没想到引起那么多朋友的共鸣,也鼓舞了很多初入职场的朋友和有相同经历的朋友,在这里真的很感谢博客园提供这么好的平台,可以让每一位园友尽情倾吐。 这次我是分享我本人制作的一个恶搞程序,说白了就是一个吸粉引流工具,市面上有很多引流方法,例如最常见的就是色流,哈哈,今...

    eccozhou 评论0 收藏0

发表评论

0条评论

venmos

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<