精华内容
下载资源
问答
  • 关于二维码的资料
    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,包括改造指南,支付指南,业务实施指南,安全规范和应用规范。
  • 二维码资料.rar

    2021-09-07 10:02:57
    二维码资料.rar
  • 二维码评级说明资料

    2018-10-17 15:28:10
    详细说明二维码的国际标准,并对常见的二维码不合规情况进行分析。
  • 二维码详细资料

    2015-11-04 10:36:43
    详细地总结了ECC200、QR与PDF417的编码以及解码原理及过程,举例说明其码型的具体应用。
  • 二维码资料

    2014-09-27 14:34:04
    近年来,随着资料自动收集技术的发展,用条形码符号表示更多资讯的要求与日俱增。
  • 法勒二维码定位相关资料
  • Qrencode二维码开发资料主要包括:1:cmake工具;2:qrencode-4.0.2.tar.gz源码 3:编译生成的静态库qrencode.lib;4:本人使用VS2017+QT通过加载qrencode.lib库生成二维码的应用程序和源码。 博客地址:...
  • 二维条码/二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流...
  • 资源名称:二维码技术应用资料汇总资源目录:【】CQRcode【】ZXing【】ZXingDemo【】二维码【】生成二维码png资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
  • 一个日本的商业二维码处理库的相关资料。 简介:“ QR Code Decode Library”是一个从图像文件和图像数据中检测和读取QR码符号的库。它以动态链接库的方式提供,您可以通过将该软件合并到使用Visual Basic(包括VBA...
  • 二维码&条码识别LIB由ALIENTEK提供,方便大家使用。 该二维码&条码识别LIB功能: 1、支持QR二维码识别。 2、支持CODE128,CODE39,I25,EAN13等四种编码方式的条码识别。 3、支持UTF8-OEM转换输出(需要客户...
  • 二维码 资料

    2011-09-08 13:45:52
    二维码开发学习资料,超值,含参考资料以及完整示例代码
  • 压缩包文件包含:设置软件、操作文档、测试程序、接线图等
  • 本文主要介绍Java 中二维码,QR码,J4L-QRCode,这里整理了详细的资料供大家学习参考关于二维码的知识,有需要的小伙伴可以参考下
  • 微信开发获取用户信息和扫一扫功能,1:获取用户的基本信息,2:获取用户的详细资料3:实现了微信扫描二维码的功能
  • 精品资料(2021-2022年收藏)
  • 本文主要介绍Java 生成二维码的几种方法,这里给大家详细介绍了java生成二维码的三种工具,并附有示例代码供大家参考,开发java 二维码的朋友可以参考下
  • 二维码打印.zip源码Labview个人项目资料程序资源下载二维码打印.zip源码Labview个人项目资料程序资源下载二维码打印.zip源码Labview个人项目资料程序资源下载二维码打印.zip源码Labview个人项目资料程序资源下载 ...
  • QR二维码生成.zip源码Labview个人项目资料程序资源下载QR二维码生成.zip源码Labview个人项目资料程序资源下载QR二维码生成.zip源码Labview个人项目资料程序资源下载QR二维码生成.zip源码Labview个人项目资料程序资源...
  • 在做二维码开发的时候,找了好多资料与源代码,全部打包上传,包括java,c,c++, C-Object语言的代码,也包括了ZXing和ZBar这两个大库,分别用于Andriod和Mac的开发。这些都是前人的例子,我只是打包。
  • 摘要:Delphi源码,报表打印,二维码 rbserver Delphi打印二维码,PDF417码有长度短,破损都可以扫描等优点.最近做项目需要用到二维码PDF...找了很久,这些资料都比较难找到.现在共享给位,在delphi7,rbserver7下调试成功。
  • 主要为大家详细介绍了Android从图片获取二维码的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 生成二维码——2例.zip源码Labview个人项目资料程序资源下载生成二维码——2例.zip源码Labview个人项目资料程序资源下载生成二维码——2例.zip源码Labview个人项目资料程序资源下载生成二维码——2例.zip源码Labview...
  • Datamatrix二维码打码质量评价(Verification)系统实现.rar 介绍了关于Datamatrix二维码打码质量评价(Verification)系统实现的详细说明,提供其它知识的技术资料的下载。
  • 高清,500万像素,可做二维码识别 ,提供源码! STM32F429 OV5640 连续自动变焦: https://v.youku.com/v_show/id_XMTU2NTI4MDU5Mg==.htm... 附件内容说明: 实物购买链接:...
  • 这是一个开发二维码的文档,非常好的文档,不错的选择 二维码已经在物流、金融、交通、制造业、电子商务、传媒、旅游等领域都得到了应用。特别是在商业流通领域,二维码技术正在引发一场商业模式革命。通过二维码,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,657
精华内容 23,862
关键字:

关于二维码的资料