• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code)

C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

用C#如何生成二维码,我们可以通过现有的第三方dll直接来实现,下面列出几种不同的生成方法:

1):通过QrCodeNet(Gma.QrCodeNet.Encoding.dll)来实现

1.1):首先通过VS2015的NuGet下载对应的第三方组件,如下图所示:

1.2):具体生成二维码方法如下

private void GenerateQRByQrCodeNet()
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
QrCode qrCode = new QrCode();
qrEncoder.TryEncode("Hello World. This is Eric Sun Testing...", out qrCode);
GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);
using (MemoryStream ms = new MemoryStream())
{
renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);
Image img = Image.FromStream(ms);
img.Save("E:/csharp-qrcode-net.png");
}
}
</div>

更多详细信息请参考如下链接:

http://www.weikejianghu.com/article/99215.htm

http://qrcodenet.codeplex.com/

http://stackoverflow.com/questions/7020136/free-c-sharp-qr-code-generator

2):通过ThoughtWorks.QRCode(ThoughtWorks.QRCode.dll)来实现

1.1):首先通过VS2015的NuGet下载对应的第三方组件,如下图所示:

1.2):具体生成二维码方法如下

private void GenerateQRByThoughtWorks()
{
QRCodeEncoder encoder = new QRCodeEncoder();
encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
encoder.QRCodeScale = 4;//大小(值越大生成的二维码图片像素越高)
encoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//错误效验、错误更正(有4个等级)
encoder.QRCodeBackgroundColor = Color.Yellow;
encoder.QRCodeForegroundColor = Color.Green;
string qrdata = "Hello 世界! This is Eric Sun Testing....";
Bitmap bcodeBitmap = encoder.Encode(qrdata.ToString());
bcodeBitmap.Save(@"E:\HelloWorld.png", ImageFormat.Png);
bcodeBitmap.Dispose();
}
</div>

3):通过Spire.BarCode(Spire.BarCode.dll)来实现

1.1):首先通过VS2015的NuGet下载对应的第三方组件,如下图所示:

1.2):具体生成二维码方法如下

private void GenerateQRBySpire()
{
BarcodeSettings bs = new BarcodeSettings()
{
Data = "This is qr code: H2AMK-Z3V69-RTJZD-C7JAU-WILL4",
Type = BarCodeType.QRCode,
TopTextColor = Color.Red,
ShowCheckSumChar = false,
ShowText = false
};
//Generate the barcode based on the this.barCodeControl1
BarCodeGenerator generator = new BarCodeGenerator(bs);
Image barcode = generator.GenerateImage();
//save the barcode as an image
barcode.Save(@"E:\barcode-2d.png");
}
</div>

1.3):附加具体生成条形码方法如下

private void GenerateBarCodeBySpire()
{
BarcodeSettings bs = new BarcodeSettings()
{
Data = "This is barcode: H2AMK-Z3V69-RTJZD-C7JAU-WILL4",
ShowCheckSumChar = false,
TopTextColor = Color.Red,
ShowTopText = false,
ShowTextOnBottom = true
};
//Generate the barcode based on the this.barCodeControl1
BarCodeGenerator generator = new BarCodeGenerator(bs);
Image barcode = generator.GenerateImage();
//save the barcode as an image
barcode.Save(@"E:\barcode.png");
}
</div>

1.3):上诉代码我们发现生成的条形码和二维码带有水印[E-ICEBLUE],如何去除水印呢?请看如下代码

BarcodeSettings.ApplyKey("......");

请发送邮件到 sales@e-iceblue.com 免费获取对应的 key 值

更多详细信息请参考如下链接:

http://freebarcode.codeplex.com/

http://www.e-iceblue.com/Knowledgebase/Spire.BarCode/Program-Guide/Programme-Guide-for-Spire.BarCode.html

http://www.weikejianghu.com/article/99222.htm

4):通过Barcode Rendering Framework(Zen.Barcode.Rendering.Framework.dll)来实现

4.1):首先通过VS2015的NuGet下载对应的第三方组件,如下图所示:

4.2):具体生成二维码方法如下

private void GenerateBarCodeByZen()
{
Code128BarcodeDraw barcode128 = BarcodeDrawFactory.Code128WithChecksum;
Image img = barcode128.Draw("Hello World", 40);
img.Save("E:/zenbarcode.gif");
}
</div>

4.3):附加具体生成条形码方法如下

private void GenerateQRByZen()
{
CodeQrBarcodeDraw qrcode = BarcodeDrawFactory.CodeQr;
Image img = qrcode.Draw("Hello World!", qrcode.GetDefaultMetrics(40));
img.Save("E:/zenqrcode.gif");
}
</div>

更多详细信息请参考如下链接:

http://barcoderender.codeplex.com/

5):通过BarcodeLib(BarcodeLib.Barcode.ASP.NET.dll)来实现,下载对应dll的连接为 http://www.barcodelib.com/asp_net/

5.1):具体生成二维码方法如下

private void GenerateQRByBarcodeLib()
{
QRCode qrbarcode = new QRCode();
qrbarcode.Encoding = QRCodeEncoding.Auto;
qrbarcode.Data = "336699885522 This is Eric Sun Testing.";
qrbarcode.ModuleSize = 10;
qrbarcode.LeftMargin = 8;
qrbarcode.RightMargin = 8;
qrbarcode.TopMargin = 8;
qrbarcode.BottomMargin = 8;
qrbarcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Gif;
// Save QR Code barcode image into your system
qrbarcode.drawBarcode("E:/csharp-qrcode-lib.gif");
}
</div>

5.2):附加具体生成条形码方法如下

private void GenerateLinearByBarcodeLib()
{
Linear barcode = new Linear();
barcode.Type = BarcodeType.CODE128;
barcode.Data = "CODE128";
// other barcode settings.
// save barcode image into your system
barcode.drawBarcode("E:/barcode.png");
}
</div>

我们使用的是试用版(带水印的......),还有付费的正版,详情请参考如下链接:

http://www.barcodelib.com/asp_net/

以上所述是小编给大家介绍的C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-28C#全角半角转换函数代码分享
  • 2017-05-28C#打开php链接传参然后接收返回值的关键代码
  • 2017-05-28C#词法分析器之输入缓冲和代码定位的应用分析
  • 2017-05-28C#绘制飞行棋地图小程序
  • 2017-05-28向一个数组中插入一个1~100的随机数
  • 2017-05-28C#判断字符是否为汉字的三种方法分享
  • 2017-05-28C# MVC 微信支付教程系列之公众号支付代码
  • 2017-05-28C#实现的Socket服务器端、客户端代码分享
  • 2017-05-28C#基于COM方式读取Excel表格的方法
  • 2017-05-28C# WinForm窗体编程中处理数字的正确操作方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#打印出正等腰三角形实例代码
    • C#控制台下测试多线程的方法
    • python实现AutoResetEvent类的阻塞模式方法解析
    • 自己编写sqlhelper类示例分享
    • 使用C#获取远程图片 Form用户名与密码Authorization认证的实现
    • C#中的尾递归与Continuation详解
    • C#编程读取文档Doc、Docx及Pdf内容的方法
    • C#获取本机IP地址(ipv4)
    • C#类中static变量用法分析
    • C#操作LINQ to SQL组件进行数据库建模的基本教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有