ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

VS 2022的二维码编码器和解码器C#类库。NET 6.0(3.0.0版)

2022-03-05 13:34:29  阅读:52  来源: 互联网

标签:类库 编码 编码器 演示 字节 解决方案 二维码 解码器 模块


二维码库允许您的程序创建(编码)二维码图像,或读取(解码)包含一个或多个二维码的图像。附加的源代码由两个解决方案组成,一个二维码编码器解决方案和一个二维码解码器解决方案。该软件已升级至VS 2022。NET6。0.源代码是用C#编写的。这是一个开源代码。

 

编码器解决方案

QRCodeEncoderLibrary是一个类库项目。

qrcodeencodermo一个Windows窗体演示程序,演示如何将字符串或字节数组编码到二维码图像文件中。

QRCodeConsoleDemo一个Windows控制台演示程序,演示如何将文本文件或二进制文件编码为二维码图像文件。

解码器解决方案

QRCodeDecoderLibrary是一个类库项目。

QRCODECODECORDEMO开发演示如何解码包含QR码的图像文件并检索字符串或字节数组。图像文件源可以是磁盘文件或实时摄像机输入。摄像机软件基于Direct Show库。

该库的二维码编码器部分包含在PDF File Writer C#Class library文章中。

 

安装

附加的源代码由两个Visual Studio解决方案组成。每个解决方案由一个库项目和演示/测试项目组成。

 

将代码集成到应用程序需要以下步骤。安装QRCodeEncoderLibrary。dll或QRCodeDecoderLibrary。dll在您的开发区域。启动Visual Studio C#程序并打开应用程序。转到解决方案资源管理器,右键单击引用,然后选择添加引用。选择“浏览”选项卡,并将文件系统导航到所需库的位置。发布应用程序时,必须将相关库文件括在内,并安装在可执行(.exe)文件所在的文件夹中。

 

或者,可以将相关库的源文件复制到项目中。

 

必须将相关的“使用”语句添加到所有源文件中:

 

使用QRCodeEncoderLibrary

//或者

使用QRCodeDecoderLibrary

二维码

QR码代表快速响应码。这是一个二维条形码。从视觉上看,它是一个由黑白方块模块组成的正方形。广场周围是一个白色的安静地带。二维码由国际标准ISO/IEC 18004定义。此标准的免费副本可在此处获得。

 

ISO标准文件将二维码定义为“QR码是一种矩阵,由一系列名义上呈方形的模块组成,这些模块以整体方形排列,包括一个位于符号三个角的独特查找模式,旨在帮助轻松定位其位置、大小和倾斜度。提供了多种尺寸的符号,以及四个级别的误差c纠正。模块尺寸由用户指定,以便通过多种技术生成符号。”

 

ISO标准18004是了解二维码细节的最佳信息来源。在互联网上搜索可以得到更多关于这个主题的代理文章。维基百科关于二维码的文章可以在这里查看。

 

二维码标准由40个不同大小的正方形组成。每个方块都有一个从1到40的版本号。每个正方形的大小从21×21模块(版本1)到177×177模块(版本40)不等。每个版本的每侧比上一个版本多4个模块。

 

方形尺寸=21+4*(版本-1)

一些模块是固定的。最明显的是三个方形搜索器。其余模块分为数据模块和纠错模块。错误纠正分为4个级别:

 

L-Low将纠正多达7%的错误

M-Medium最多可以纠正15%的错误

Q-Quarter将更正多达25%的错误

H-High将纠正多达30%的错误

数据区中的每个模块代表一位。黑色模块为1,白色模块为0。数据区域可分为多个部分。每个输入段字节数组以数字、算术和字节三种方式之一编码为数据位。注:二维码标准还有一种汉字编码方法。该项目不支持它。

 

数字数据:该段仅由数字0–9组成。三位数字将转换为10位。

字母数字数据:该段由数字0-9、大写字母A-Z和其他九个字符组成[空格,$%*+-./:]。两个字母数字字符将转换为11位。

8位字节数据。该段不会被转换。输入位和模块之间存在一对一的对应关系。

要编码二维码,请提供要编码的数据和四个纠错码之一。系统将计算表示数据所需的最小版本号。

 

除了数据,二维码还可以包含ECI分配号。分配编号范围为0到999999。该数字不是二维码数据的一部分。它用于根据字节值的替代解释(例如,替代字符集)对数据进行编码。

标签:类库,编码,编码器,演示,字节,解决方案,二维码,解码器,模块
来源: https://www.cnblogs.com/chinancsa/p/15967704.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有