前言

在使用C#语言进行客户端软件开发时很多时候我们会有需要生成二维码和一维码的需求,在智能工厂和一些商品扫码之类的软件中应用居多,此文章简单记录了一维码和二维码的编码格式和使用ZXing库生成二维码和一维码的过程。

一、引入Zxing.net

在编写代码之前我们需要先在NuGet中引入Zxing.net

右键点击解决方案名称----->点击管理NuGet程序包

在程序包中搜索Zxing---->点击安装Zxing.net

二、主要代码

1.引入库

using ZXing;
using ZXing.Common;
using ZXing.QrCode;

2.生成条形码

        /// <summary>/// 生成条形码/// </summary>/// <param name="barcodeContent">需要生成条码的内容</param>/// <param name="barcodeWidth">条码宽度</param>/// <param name="barcodeHeight">条码长度</param>/// <returns>返回条码图形</returns>public static Bitmap GetBarcodeBitmap(string barcodeContent, int barcodeWidth, int             barcodeHeight){BarcodeWriter barcodeWriter = new BarcodeWriter();barcodeWriter.Format = BarcodeFormat.CODE_39;//设置编码格式EncodingOptions encodingOptions = new EncodingOptions();encodingOptions.Width = barcodeWidth;//设置宽度encodingOptions.Height = barcodeHeight;//设置长度encodingOptions.Margin = 2;//设置边距barcodeWriter.Options = encodingOptions;Bitmap bitmap = barcodeWriter.Write(barcodeContent);return bitmap;}

3.生成二维码

        /// <summary>/// 生成二维码/// </summary>/// <param name="qrCodeContent">要生成二维码的内容</param>/// <param name="qrCodeWidth">二维码宽度</param>/// <param name="qrCodeHeight">二维码高度</param>/// <returns>返回二维码图片</returns>public static Bitmap GetQRCodeBitmap(string qrCodeContent,int qrCodeWidth,int qrCodeHeight){BarcodeWriter barcodeWriter = new BarcodeWriter();barcodeWriter.Format = BarcodeFormat.QR_CODE;QrCodeEncodingOptions qrCodeEncodingOptions = new QrCodeEncodingOptions();qrCodeEncodingOptions.DisableECI = true;qrCodeEncodingOptions.CharacterSet = "UTF-8";//设置编码qrCodeEncodingOptions.Width = qrCodeWidth;//设置二维码宽度qrCodeEncodingOptions.Height = qrCodeHeight;//设置二维码高度qrCodeEncodingOptions.Margin = 0;//设置二维码边距barcodeWriter.Options = qrCodeEncodingOptions;Bitmap bitmap = barcodeWriter.Write(qrCodeContent);//写入内容return bitmap;}

一维码和二维码的编码格式

一维条码的编码方式:Code39码(标准39码)、Codabar码(库德巴码)、Code25码(标准25码)、ITF25码(交叉25码)、Matrix25码(矩阵25码)、UPC-A码、UPC-E码、EAN-13码(EAN-13国际商品条码)、EAN-8码(EAN-8国际商品条码)、Code128码(Code128码,包括EAN128码)等。
二维条码:PDF417码、Code49码、Code 16K码、Data Matrix码、MaxiCode码等,主要分为堆积或层排式和棋盘或矩阵式两大类。
  目前,国际广泛使用的条码种类有EAN、UPC码(商品条码,用于在世界范围内唯一标识一种商品。我们在超市中最常见的就是这种条码)、Code39码(可表示数字和字母,在管理领域应用最广)、ITF25码(在物流管理中应用较多)、Codebar码(多用于医疗、图书领域)、Code93码、Code128码等。其中,EAN码是当今世界上广为使用的商品条码,已成为电子数据交换(EDI)的基础;UPC码主要为美国和加拿大使用;在各类条码应用系统中,Code39码因其可采用数字与字母共同组成的方式而在各行业内部管理上被广泛使用;在血库、图书馆和照像馆的业务中,Codebar码也被广泛使用。

C# 生成一维码(条形码)和二维码相关推荐

  1. asp.net 生成、解析条形码和二维码

    asp.net 生成.解析条形码和二维码 原文 asp.net 生成.解析条形码和二维码 一.条形码 一维码,俗称条形码,广泛的用于电子工业等行业.比如我们常见的书籍背面就会有条形码,通过扫描枪等设备 ...

  2. java生成、识别条形码和二维码

    一.概述 使用 zxing 开源库 Zxing主要是Google出品的,用于识别一维码和二维码的第三方库 主要类: BitMatrix 位图矩阵 MultiFormatWriter 位图编写器 Mat ...

  3. java——记录一次条形码、二维码、订单自动生成的制作

    目录 条形码的生成 解决方案 生成结果如下 工具包下载 代码如下 二维码码的生成 解决方案 生成结果如下 工具包下载 代码如下 订单自动生成的制作 效果如下 源代码下载 条形码的生成 解决方案 使用j ...

  4. 碎步二:zxing核心包生成条形码和二维码

    最近闲得无趣,于是写点技术知识放到博客上,希望以后对自己有所帮助.随着时代的发展,二维码已经悄悄的被时代所认可,不管是个人或者公司,二维码受到很多人的认可,如今在互联网上二维码几乎随处可见.废话不多说 ...

  5. C#利用ZXing.Net生成条形码,二维码和带Logo的二维码

    本文是利用ZXing.Net在WinForm中生成条形码,二维码的小例子,仅供学习分享使用,如有不足之处,还请指正. 什么是ZXing.Net? ZXing是一个开放源码的,用Java实现的多种格式的 ...

  6. C# 利用ZXing.Net来生成条形码和二维码

    本文是利用ZXing.Net在WinForm中生成条形码,二维码的小例子,仅供学习分享使用,如有不足之处,还请指正. 什么是ZXing.Net? ZXing是一个开放源码的,用Java实现的多种格式的 ...

  7. JS的条形码和二维码生成

    一.前言 最近做项目用到了JS生成条形码和二维码,内容不多,整理一下方便使用. 2018年7月5日更新: 二维码生成时,如果长度太长会有异常: Uncaught Error: code length ...

  8. JAVA使用barcode4j生成条形码和二维码图片以及带logo的二维码,验证码图片

    二维码 1.Maven引入barcode4j依赖 <!-- 条形码生成 --><dependency><groupId>net.sf.barcode4j</g ...

  9. EXCEL 批量生成条形码、二维码方案

    一. 通过条码字体生产条形码 1.网上下载C39HrP24DhTt 条码字体,导入win10 fonts文件夹,excel 中引用C39HrP24DhTt 字体进行显示. (68条消息) Excel ...

  10. ZXing生成条形码、二维码、带logo二维码

    采用的是开源的ZXing,Maven配置如下,jar包下载地址,自己选择版本下载,顺便推荐下Maven Repository <!-- https://mvnrepository.com/art ...

最新文章

  1. [转载]“java.sql.SQLException:指定了无效的 Oracle URL”
  2. 黄聪:VirtualBox 安装ghost版windows XP
  3. oracle 斜线出现次数,oracle一些操作小知识
  4. spring4.2更好的应用事件
  5. BZOJ2705 [SDOI2012]Longge的问题 欧拉函数
  6. 吴恩达机器学习 -- 多变量线性回归
  7. PIC32单片机harmony开发环境 - uart例程和代码分析
  8. Oracle用 odp.net 时出现 Oracle.DataAccess.Client.OracleConnection的类型初始值设定项引发异常 问题的解决...
  9. 机器学习中如何解决数据不平衡问题?
  10. 【华为云技术分享】Scrum Master如何引导团队中的刺头
  11. python 去除水印_基于python的图片修复程序(实现水印去除)
  12. WINDOWS假冒KERBEROS令牌***域
  13. java程序员_java程序员这个职业赚钱吗,看一线程序员怎么说
  14. 基于Python-turtle库绘制皮卡丘、多边形、星空
  15. ROS加载PCD文件
  16. Hbuilder X自定义安装微信开发工具无法启动
  17. python单元测试mock_Python单元测试mock,获取mocked函数的输入参数
  18. Duet 2 WIFI 主板略
  19. GBase 8s灾备集群HAC介绍
  20. 逐步回归选取特征及GAM模型的使用==college数据集(统计学习导论)

热门文章

  1. 私域流量对比:微信公众号、小程序、APP,谁更有价值?
  2. 前端“三剑客”——HTML,CSS,JS
  3. python 撞库_python 脚本撞库国内“某榴”账号
  4. 听觉与感知的一些基本概念
  5. 【并行算法】知识点总结(一、二、三、九章)
  6. mysql报错max_prepared_stmt_count的解决过程
  7. Python连接qq邮箱服务器,调用qq邮箱发送邮件实战演示,qq邮箱授权码开通方法
  8. python 方差计算_计算方差图像python
  9. NiN(Network in Network) pytorch实现
  10. 基于opencv+python的车道检测技术