精华内容
下载资源
问答
  • 二维码 资料

    2011-09-08 13:45:52
    二维码开发学习资料,超值,含参考资料以及完整示例代码
  • 关于二维码

    2019-07-10 08:14:35
    二维码背景和意义 二维码作为一种全新的信息存储、传递和识别技术,自诞生之日起就得到了世界上许多国家的关注。它是当代人获取信息重要方式,特别是手持设备上信息的获取。随着时代的发展,它将渗透到我们日常生活...

    二维码背景和意义
    二维码作为一种全新的信息存储、传递和识别技术,自诞生之日起就得到了世界上许多国家的关注。它是当代人获取信息重要方式,特别是手持设备上信息的获取。随着时代的发展,它将渗透到我们日常生活的方方面面。现代社会, 人人都接触到二维码,这正反映了时代文化的变迁。充分利用二维码这一技术将会给我们的生活带来极大的便利。
    研究现状
    国外对二维码技术的研究始于20世纪80年代末,在二维码符号表示技术研究方面已研制出多种码制,在二维码标准化研究方面,国际自动识别制造商协会(AIM)、美国标准化协会(ANSI)已完成了PDF417、QR Code、Code 49、Code 16K、Code One等码制的符号标准。我国对二维码技术的研究相对落后,大约始于1994年。
    应用前景
    信息获取(名片、地图、WIFI密码、资料)
    网站跳转(跳转到微博、手机网站、网站)
    广告推送(浏览商家推送的视频、音频广告)
    手机电商(手机直接购物下单)
    优惠促销(下载电子优惠券,抽奖)
    会员管理(获取电子会员信息、VIP服务)
    手机支付(扫描商品二维码,通过银行或第三方支付提供的手机端通道完成支付)
    研究重点
    我们之所以对二维码进行扫描能读出那么多信息,就是因为这些信息被编入了二维码之中。其中QR码具有数据容量大,编码范围广,可靠性高,成本低,纠错力强等优点,现在常见的二维码都是以QR码作为编码的码制。
    QR码理论

    QR码由两大部分组成:编码区格式和功能图形区。
    编码区格式包括了由格式信息、版本信息以及数据信息和 Rs生成的纠错码字,其中大部分是数据信息和纠错码字;
    功能图形区是指符号中用于符号定位与特征识别的特定图形,由位置探测图形、分隔符、定位图形以及校正图形组成。
    QR码符号区域被空白区包围, 空白区不打印任何信息,四周空白区的宽度为四个模块的究度。

    QR码编码

    ●数据分析:区分数字,字母汉字等,对不同数据模式进行高效编码。
    ●数据编码:根据数据编码模式将数据字符转化为二进制位流,位流分为每8位一个码字,必要时需加入填充。
    ●纠错编码:将码字序列分块,生成相应的纠错码字。一并加入对应数据码字后面。采用Reed.Solomom错误控制码实现纠错。
    ●编码构造:将纠错码字添加到数据码字后面形成最终位流序列。
    ●模块构造:将寻像图形,分隔符,定位图形,校正图形,码字图统一编 入同一矩阵,每8位码字按2个模块宽度从右下角开始进行蛇形排列。
    ●加入掩膜:避免出现相似区域,对符号进行异或操作后计分,选择得分最低图形。
    ●版本与格式:格式信息右5个数据位和10个纠错位组成与掩模图形进行异或运算后填入相应位置。

    使用方式
    集成默认的二维码扫描页面
    在module的build.gradle中执行compile操作

    compile 'cn.yipianfengye.android:zxing-library:2.2'
    

    在demo Application中执行初始化操作

    @Override
        	public void onCreate() {
            	super.onCreate();
           		ZXingLibrary.initDisplayOpinion(this);
        	}
    

    在代码中执行打开扫描二维码界面操作

    /**
     * 打开默认二维码扫描界面
     */
        button1.setOnClickListener(new View.OnClickListener() {
        @Override
    public void onClick(View v) {
    Intent intent = new Intent(MainActivity.this,CaptureActivity.class);
        	startActivityForResult(intent, REQUEST_CODE);
     	}
     });
    这里的REQUEST_CODE是我们定义的int型常量。
    在Activity的onActivityResult方法中接收扫描结果
    
    
      /**
    
      * 处理二维码扫描结果
    
        */
        if (requestCode == REQUEST_CODE) {
        //处理扫描结果(在界面上显示)
        If (null != data) {
        Bundle bundle = data.getExtras();
        if (bundle == null) {
        return;
        }
         	If (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
        String result = bundle.getString(CodeUtils.RESULT_STRING);
         		Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show();
         	} else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
         		Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
        }
        }
        }
    

    集成对二维码图片的解析功能
    调用系统API打开图库

    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    intent.setType("image/*");
    startActivityForResult(intent, REQUEST_IMAGE);
    

    在Activity的onActivityResult方法中获取用户选中的图片并调用二维码图片解析API

    if (requestCode == REQUEST_IMAGE) {
    if (data != null) {
        	Uri uri = data.getData();
            ContentResolver cr = getContentResolver();
            try {
            	Bitmap mBitmap = MediaStore.Images.Media.getBitmap(cr, uri);//显得到bitmap图片
    
                CodeUtils.analyzeBitmap(mBitmap, new CodeUtils.AnalyzeCallback() {
                @Override
                public void onAnalyzeSuccess(Bitmap mBitmap, String result) {
                	Toast.makeText(MainActivity.this, "解析结果:" + result, 	Toast.LENGTH_LONG).show();
                }
                @Override
                	public void onAnalyzeFailed() {
                    Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
                            }
                        });
                 	if (mBitmap != null) {
                 		mBitmap.recycle();
                  	}
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
    

    生成二维码图片
    生成带Logo的二维码图片:

    /**
             * 生成二维码图片
             */
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String textContent = editText.getText().toString();
                    if (TextUtils.isEmpty(textContent)) {
                        Toast.makeText(ThreeActivity.this, "您的输入为空!", Toast.LENGTH_SHORT).show();
                        return;
                    }
                    editText.setText("");
                    mBitmap = CodeUtils.createImage(textContent, 400, 400, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
                    imageView.setImageBitmap(mBitmap);
                }
            });
    

    生成不带logo的二维码图片

    /**
      * 生成不带logo的二维码图片
     */
           button1.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                   String textContent = editText.getText().toString();
                   if (TextUtils.isEmpty(textContent)) {
                       Toast.makeText(ThreeActivity.this, "您的输入为空!", Toast.LENGTH_SHORT).show();
                        return;
                    }
                    editText.setText("");
                    mBitmap = CodeUtils.createImage(textContent, 400, 400, null);
                    imageView.setImageBitmap(mBitmap);
                }
            });
    

    支持控制闪光灯

    /**
     * 打开闪光灯
    */
    CodeUtils.isLightEnable(true);
    
    /**
     * 关闭闪光灯
    */
     CodeUtils.isLightEnable(false);
    

    二维码的生成原理
    在这里插入图片描述
    用特定的集合图形按编排规律在二维方向上发布,采用黑白相间的图形来记录数据符号信息,用数字”0”和”1”作为代码,利用计算机内部逻辑使计算机识别,同时使用若干个与二进制相对应的几何形体表示文字数值信息,白色块表示的就是二进制的”0”,黑块就是”1”.

    在QR码上不同的区域则表示着不同的信息
    安静区域:空白边框,可以将代码与其他打印信息隔离(例如,在脏信封上,报纸的黑白打印或污迹产品包装上)。
    Finder模式:三个角落中的大黑色和白色方块可以很容易地确认这是一个QR码。由于它们只有三个,所以很明显代码的哪个方向以及它指向的角度(除非代码在某种程度上被部分遮挡或损坏)。
    对齐模式:这确保代码可以被破译,即使它是扭曲的(以某个角度查看,打印在曲面上,等等)。
    定时模式:在三个取景器模式之间水平和垂直地运行,由交替的黑色和白色方块组成。时序模式可以轻松识别QR码中的各个数据单元,在代码损坏或失真时尤其有用。
    版本信息:QR码标准有各种不同版本;版本信息(位于两个取景器模式附近)简单地识别在特定代码中使用哪一个。
    数据单元:每个单独的黑色或白色方块不属于标准特征之一(时序,对齐和其他模式),包含代码中的一些实际数据。

    展开全文
  • 银联二维码资料

    2017-12-08 09:09:16
    银联二维码资料,PDF,包括改造指南,支付指南,业务实施指南,安全规范和应用规范。
  • 二维码资料

    2014-09-27 14:34:04
    近年来,随着资料自动收集技术的发展,用条形码符号表示更多资讯的要求与日俱增。
  • js关于二维码

    2018-10-24 15:29:28
    本文是由于项目需求,在网上寻找大量资料,整理融合而成 一、生成二维码: 简单demo代码包批量生成而二维码 生成步骤:1. 从数据库获取二维码内容数据  2.前端用二维码插件遍历生成二维码  3.获取canvas下的...

    本文是由于项目需求,在网上寻找大量资料,整理融合而成

    一、生成二维码:

    简单demo代码包批量生成而二维码

    生成步骤:1. 从数据库获取二维码内容数据

                      2.前端用二维码插件遍历生成二维码

                      3.获取canvas下的图片数据,通过ajax上传后台php,生成图片文件

     1. 从数据库获取二维码内容数据

    本次二维码内容为带No的URL连接,一共要8800个,URL链接已直接在数据库生成,通过php mysql操作,或到数据,并传递到前端Html页面上

    2.前端用二维码插件遍历生成二维码

    点击生成二维码按钮,触发creator()事件

    function creator() {
        var imgArray = new Array();
        <?php
        foreach ($lab as $val){
        ?>
        $("#rongqi").after("<div id='<?php echo $val['Id'];?>'></div>");//生成存储二维码的容器
        //生成二维码
        var abc = jQuery(<?php echo '"#' . $val['Id'] . '"';?>).qrcode({
            render: "canvas",
            text: <?php echo '"' . $val['letUrl'] . '"';?>,
            width: "200",               //二维码的宽度
            height: "200",              //二维码的高度
            background: "#ffffff",       //二维码的后景色
            foreground: "#000000",        //二维码的前景色
            // src: 'static/images/huayin.png',             //二维码中间的图片
            correctLevel :2
        });
        <?php }?>
    }
    
    
     <script type="text/javascript" src="static/js/jquery-1.11.1.js"></script>
     <script type="text/javascript" src="static/js/jquery.qrcode.js"></script>
     <script type="text/javascript" src="static/js/qrcode.js"></script>
     <script type="text/javascript" src="static/js/utf.js"></script>
    
     

    上面的参数可根据实际情况修改

    3.获取canvas下的图片数据,通过ajax上传后台php,生成图片文件

    点击上传按钮触发upload()事件

     function upload() {
         
            var imgArray = new Array();
           
            <?php
            foreach ($lab as $val){
            ?>
    
            var Info = new Object();
    
            var urll = downloadClick(<?php echo '"#' . $val['Id'] . ' canvas"';?>);//获取canvas下的二维码base64数据段
    
            Info['name'] = <?php echo '"' . $val['No'] . '.png"';?>;
    
            Info['img'] = urll;
    
            imgArray.push(Info);
            <?php }?>
       //上传后端处理,我用的语言是PHP ,此处注意,可能一次上传的数据条数,过多,需要到PHP.ini去设置最大上传限制,如超时时间,最大上传大小、数目等
            $.ajax({
                type: 'post',
                url: "../facade/saveImg.php",  
                dataType: 'json',
                data: {
                    imgArray: imgArray
                },
                success: function (msg) {
                    var pay = JSON.parse(msg);
              
                }
            });
        }

     

    $imgArray = $_POST["imgArray"];//获取img base64数据段
    foreach ($imgArray as $val) {
       //获取数据,遍历数组将每个二维码数据段去掉格式生成文件保存到对应的文件目录中
        $base_img = str_replace('data:image/png;base64,', '', $val['img']);//去掉数据段的前面固定格式
    //  设置文件路径和文件前缀名称
        $path = "../page/static/imgQuic/";
        $prefix = 'nx_';
       echo $path = $path . $val['name'];  //拼接文件名
    
    //  创建将数据流文件写入我们创建的文件内容中
        $ifp = fopen($path, "wb");
        fwrite($ifp, base64_decode($base_img));
        fclose($ifp);
    }
    
    echo 1;

     

    到此8800个二维码生成完成

    二、js扫码

    简单demo代码包扫码

    直接上代码

    html
    <button node-type="qr-btn">
           扫码
        </button>
    <div class="result-qrcode" style="display: none"></div>
    
    
    js
      //初始化扫描二维码按钮,传入自定义的 node-type 属性
            $(function () {
                Qrcode.init($('[node-type=qr-btn]'));
            });
            $('.result-qrcode').on('DOMNodeInserted', function () {
                var txt = $('.result-qrcode').text();
                console.log(txt);
            });
    
     <script type="text/javascript" src="static/js/jquery-1.11.3.js"></script>
     <script src="static/js/zepto.js"></script>
     <script src="static/js/qrcode.lib.min.js"></script>
     <script src="static/js/qrcode.js"></script>
    

    以上js在demo代码包里面网上也能找到。

    以上代码,并不是我原生开发,再此感谢各位技术博客大神,我只是根据自己项目整理下,指出了一些踩到的坑,避免再此踩到。以此方便大家。

     

     

     

     

     

     

    展开全文
  • c#二维码资料

    2019-07-17 08:40:02
    几个主要的C#二维码开发资料,用于学生的本科毕业论文参考 https://blog.csdn.net/xwnxwn/article/details/72636417 C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码 ... C#二维码生成解析 ...

    几个主要的C#二维码开发资料,用于学生的本科毕业论文参考

    https://blog.csdn.net/xwnxwn/article/details/72636417

    C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码

    https://www.cnblogs.com/Leo_wl/p/4314797.html

    C#二维码生成解析

    https://www.cnblogs.com/WhyShang/p/3704513.html

    C#实现二维码生成与解码

     

    转载于:https://www.cnblogs.com/xiexiaokui/p/9758919.html

    展开全文
  • android二维码资料

    2013-01-23 15:57:00
    二维码现在对大家很是重要,所以特意的整理了有关Android 二维码的知识帖,有实例教程、源码和问答贴,大家有时间可以到这里看一下,多多的学习下。希望能够给大家带来一些帮助。也希望各位同学也能够到社区整理些...

    二维码现在对大家很是重要,所以特意的整理了有关Android 二维码的知识帖,有实例教程、源码和问答贴,大家有时间可以到这里看一下,多多的学习下。希望能够给大家带来一些帮助。也希望各位同学也能够到社区整理些这种汇总贴,更能方便大家一起学习。帖子我们也会随时的更新,会给大家带来更多的知识。

    android 二维码原理简介
    条码扫描二维码扫描—ZXing android 改进版本
    在Android上使用ZXing识别条码/二维码
    关于如何区分Zxing扫描扫描到的码是一维码还是二维码
    (转载)用com.google.zxing生成、解析二维码
    条码扫描二维码扫描——ZXing android 源码简化 (附:支持中文)
    在Android上使用ZXing识别条码/二维码(简单的实现)
     

    ======================================================= ====================Android 二维码源码=================

    二维码Demo
    Android查看二维码源码
    仿微信二维码名片
    关于Zxing二维码扫描开灯的问题
    Android带闪光灯的二维码代码
    Android 二维码条形码生成与扫描
    Android二维码识别源码,可有多种实现方式。
    最简易的条形码二维码扫描,再附上完整版
    android直接从图片中对二维码编码解码
    wee作品 - XL二维码 【界面设计得很蛋疼】更新1.3版本
     

    ===================================================== ====================Android 二维码问答=================

    关于二维码
    实现扫描二维码查询商品价格的功能
    关于zxing二维码扫描结果问题
    关于个性化二维码的实现
    请问如何区分一维码和二维码
    android 二维码 实现手动功能
    ZXing识别二维码图片
    关于Zxing二维码扫描OutOfMemoryError: bitmap size exceeds VM
    关于二维码的求助!
    关于二维码横屏的处理,老调重弹,但是也有新手找不着北吧...
    怎么让微信的扫一扫扫描二维码后安装apk?
    微信扫描丁丁优惠二维码打开丁丁优惠客户端是如何实现的

    转载于:https://www.cnblogs.com/crazywenza/archive/2013/01/23/2873291.html

    展开全文
  • java二维码资料

    2016-02-18 17:20:51
    http://baijinshan.iteye.com/blog/1004554
  • 杂谈 | 关于二维码

    2017-05-27 15:33:56
    作为新媒体运营者+软件...二维码的出现,在一定程度上给移动端应用的快速发展提供了便利;同时,智能手机和平板电脑的普及应用也反向催生了二维码应用,大家竞相投入大量资源进行技术研发。总之这是一个良性循环吧~
  • QR-关于二维码

    千次阅读 2014-12-15 11:46:01
    昨天在大悦城看到许多商家的宣传页上面印着二维码。 某A问我,二维码的是怎么扫描出来信息的? 同一维码一样,它们都需要依靠特定的算法。 二维码(Quick Response Code),又称二维条码,它是用特定的...
  • 二维码详细资料

    2015-11-04 10:36:43
    详细地总结了ECC200、QR与PDF417的编码以及解码原理及过程,举例说明其码型的具体应用。
  • 在做二维码开发的时候,找了好多资料与源代码,全部打包上传,包括java,c,c++, C-Object语言的代码,也包括了ZXing和ZBar这两个大库,分别用于Andriod和Mac的开发。这些都是前人的例子,我只是打包。
  • 资源名称:二维码技术应用资料汇总资源目录:【】CQRcode【】ZXing【】ZXingDemo【】二维码【】生成二维码png资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
  • 二维码评级说明资料

    2018-10-17 15:28:10
    详细说明二维码的国际标准,并对常见的二维码不合规情况进行分析。
  • 一个日本的商业二维码处理库的相关资料。 “ QR Code Decode Library”是一个从图像文件和图像数据中检测和读取QR码符号的库。它以动态链接库的方式提供,您可以通过将该软件合并到使用Visual Basic(包括VBA),C +...
  • Qrencode二维码开发资料主要包括:1:cmake工具;2:qrencode-4.0.2.tar.gz源码 3:编译生成的静态库qrencode.lib;4:本人使用VS2017+QT通过加载qrencode.lib库生成二维码的应用程序和源码。 博客地址:...
  • 二维码

    千次阅读 2015-03-18 16:10:49
    国外对二维码技术的研究始于20世纪80年代末,在二维码符号表示技术研究方面已研制出多种码制,常见的有PDF417、QR Code、Code 49、Code 16K、Code One等 中国物品编码中心对几种常用的二维码PDF417、QRCCode、Data ...
  • 关于二维码的一些基础知识和问题

    万次阅读 2012-02-22 16:13:21
    什么是二维条码/二维码:  二维条码/二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部...
  • 本文主要介绍Java 生成二维码的几种方法,这里给大家详细介绍了java生成二维码的三种工具,并附有示例代码供大家参考,开发java 二维码的朋友可以参考下
  • 移动二维码技术资料

    2008-05-04 17:44:51
    移动条码凭证业务解析

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,825
精华内容 19,130
关键字:

关于二维码的资料