二维码比条形码具有更多优势,有些场合使用二维码比较多,比如支付。通过将某些数据生成二维码,就可以实现一码走天下。那么如何在C#,.Net平台代码里生成二维码呢?答案是使用SharpBarcode!
SharpBarcode是C#快速高效、准确的条形码,线性条码,QR二维码的读取和生成类库。接口调用简单,文档齐全。

初识SharpBarcode

您可以点击下面的链接了解更多信息:
1、SharpBarcode简介
2、一张图看懂SharpBarcode

生成二维码

从上面的两篇文章中,相信您已经大概了解了该类库。那么如何实现生成二维码呢?对!就是BarcodeWriteEngine的静态方法!
该类可以同时生成条形码和QR二维码,生成QR二维码的方法就是CreateQrCode及其重载方法。

设置授权码

在您调用SharpBarcode的方法之前,必须先设置授权,如果是试用版,直接传入Test即可。

//设置授权码
KeyMgr.SetKey("Test");

调用BarcodeWriteEngine的静态方法CreateQrCode

SharpBarcode支持将字符串以及二进制字节流作为内容,写入二维码。
这里演示将字符串生成一个二维码。同时SharpBarcode支持对生成的条形码或者二维码进行样式调整,比如背景色、条码的颜色、添加边距、设置宽高大小等等。
也支持对生成的结果进行多种格式的保存和导出。比如保存为Bitmap类对象,或者是jpg、png、bmp、tiff、gif、pdf等格式文件,或者DataURL,html等格式。这些都是通过GeneratedBarcode类的方法来实现的。
GeneratedBarcode类是生成条形码和二维码的一个核心类,BarcodeWriteEngine的任何一个方法,无论是生成的条形码,还是QR二维码,都是返回GeneratedBarcode类型。您可以通过GeneratedBarcode类的方法调整后,进行导出和保存。

			//将指定的字符串,按照指定大小生成qr二维码,结果保存到GeneratedBarcode类中.CreateQrCode有许多重载,可以满足您的多样化需求
GeneratedBarcode result = BarcodeWriteEngine.CreateQrCode("SharpBarcode,专业的.NET条形码和QR二维码读写类库SDK.", 350); //GeneratedBarcode类提供了丰富的接口,可以用来对生成的结果进行
//调整,比如调整背景颜色,添加边距,加注释等,也可以将生成的结果以多种方式保存,比如保存为图片,保存为html,保存为pdf,保存为
//dataURL等。
pictureBox1.Image = result.ToBitmap(); MessageBox.Show("下面开始对生成的二维码调整背景色");
result.ChangeBackgroundColor(Color.AliceBlue);
pictureBox1.Image = result.ToBitmap(); MessageBox.Show("下面开始对生成的二维码调整二维码颜色");
result.ChangeBarCodeColor(Color.Red);
pictureBox1.Image = result.ToBitmap(); MessageBox.Show("下面开始对生成的二维码调整大小");
result.ResizeTo(250,250);
pictureBox1.Image = result.ToBitmap(); MessageBox.Show("下面开始对生成的二维码设置边距");
result.SetMargins(50);
pictureBox1.Image = result.ToBitmap(); MessageBox.Show("下面开始对生成的二维码转换为dataUrl字符串");
MessageBox.Show(result.ToDataUrl()); MessageBox.Show("下面开始对生成的二维码转换为html img标签");
MessageBox.Show(result.ToHtmlTag()); MessageBox.Show("下面开始对生成的二维码保存为jpg图片");
if(saveFileDialog1.ShowDialog() == DialogResult.OK)
{
result.SaveAsJpeg(saveFileDialog1.FileName); MessageBox.Show("已保存!");
}

程序运行结果如下图:

下载示例源码

点击下载源码

C# vb .NET生成QR二维码的更多相关文章

  1. pbfunc外部函数扩展应用-直接在Datawindow中生成QR二维码,非图片方式

    利用pbfunc外部函数在Datawindow中直接生成QR二维码,非图片方式.需要注意以下面几点: Datawindow的DataObject的单位必须为像素(Pixels). Datawindow ...

  2. Google API快速生成QR二维码

    Google API快速生成QR二维码 现在来说生成二维码最简单的方法是使用Google Chart API来实现,再次膜拜Google大神- Google Chart API是一套可以让你在线生成报 ...

  3. ThoughtWorks.QRCode 生成QR二维码时提示“索引超出了数组界限”的原因和解决方法

    "索引超出了数组界限"也有可能确实是因为你选择的二维码Version对应的容量不足以存储你所放的内容,如果你确定使用的版本容量二维码能存储你的内容,但还是报错,那么再考虑此解决方法 ...

  4. [AX2012 R3]在SSRS报表中使用QR二维码

    AX2012是自带生成QR二维码的类,可以很方便的用在SSRS报表中,下面演示如何在RDP的报表中使用二维码,首先从定义临时表开始: 字段URL是要用于二维码的字符串,QrCode是container ...

  5. Android应用--QR的生成(二维码)

    二维码的定义: 二维码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的. 在许多种类的二维条码中,常用的码制 ...

  6. C# vb .NET识别读取QR二维码

    二维码比条形码具有更多优势,有些场合使用二维码比较多,比如支付.那么如何在C#,.Net平台代码里读取二维码呢?答案是使用SharpBarcode! SharpBarcode是C#快速高效.准确的条形 ...

  7. c#高效准确的条形码、线性条码、QR二维码读写类库-SharpBarcode介绍

    SharpBarcode是一款支持.NET(C#,VB)的高效易用的条形码.QR二维码的读取和生成类库. 主要功能: 1.支持几乎所有常见类型的线性条形码和QR二维码的读取,高效读取,准确率高. 2. ...

  8. QR 二维码总结

    @(Java ThirdParty)[QR] QR 二维码总结 根据Wiki中的介绍,QR Code(Quick Response Code),二维条形码,由日志设计应用于汽车制造工业中.条形码中包含 ...

  9. 【转】Delphi+Halcon实战一:两行代码识别QR二维码

    Delphi+Halcon实战一:两行代码识别QR二维码 感谢网友:绝代双椒( QQ号应原作者要求隐藏了:xxxx6348)的支持 本文是绝代双椒的作品,因为最近在忙zw量化培训,和ziwang.co ...

随机推荐

  1. PlayJava Day004

    今日所学: /* 2019.08.19开始学习,此为补档. */ JDK 1.6:byte , int , short , char , enum JDK 1.7:byte , int , short ...

  2. DataGridView中在新增行时怎样设置每个Cell单元格的字体样式

    场景 DataGridView怎样实现添加.删除.上移.下移一行: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10281414 ...

  3. 自学_CSS<二>

    CSS CSS(层叠样式表)是用来美化页面用的,可以对页面元素进行更精细的设置,样式主要描述元素的字体颜色.背景颜色.边框等. CSS主要有元素内联.页面嵌入和外部引用三种使用方式.CSS是描述元素的 ...

  4. Git笔记----Git仓库常见经典操作命令

    首次创建仓库上传项目操作在上一篇https://www.cnblogs.com/tk55/p/11795644.html ----好记性不如烂笔头 再次更新到仓库 不是首次更新内容或文件到远程仓库 g ...

  5. layui 学习笔记一:layui table 查询、新增、编辑、删除

    一.table数据的呈现(对应查询) 页面代码: @{ ViewBag.Title = "TableGrid"; } @section styles{ <link href= ...

  6. 【LeetCode】TreeNode类实现解析(java实现)

    https://blog.csdn.net/styshoo/article/details/52865386 在LeetCode中,TreeNode是经常用到的一个结构体,表示数据结构树(Tree)中 ...

  7. Linux-TCP之深入浅出send和recv【转】

    转自:https://www.cnblogs.com/JohnABC/p/7238417.html 内容摘自:TCP之深入浅出send和recv.再次深入理解TCP网络编程中的send和recv 建议 ...

  8. CodeForces - 1251B (思维+贪心)

    题意 https://vjudge.net/problem/CodeForces-1251B n个01串,可以任意交换任意两个字符串的字符任意次,问最多能有多少个回文串. 思路 分类讨论可以发现规律: ...

  9. unity_animator_stop_replay(重新播放)

    对于一个Animation重复播放,但在隐藏后,再次显示播放会出现有些属性未复原 问题描述 特效同事给的Animation中更改了物体的很多属性,如Active,Alpha, Scale,Positi ...

  10. nginx 与 uWsgi 详解

    什么是nginx nginx是一个开源的,支持高性能,高并发的代理服务软件 nginx不但是一个优秀的web服务软件,还可以作为反想代理和负载均衡,以及缓存服务或使用 为什么使用nginx 支持高并发 ...