用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(, 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");
}
}

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

http://www.cnblogs.com/Soar1991/archive/2012/03/30/2426115.html

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 = ;//大小(值越大生成的二维码图片像素越高)
encoder.QRCodeVersion = ;//版本(注意:设置为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();
}

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");
}

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");
}

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://blog.csdn.net/eiceblue/article/details/43405173

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", );
img.Save("E:/zenbarcode.gif");
}

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

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

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

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 = ;
qrbarcode.LeftMargin = ;
qrbarcode.RightMargin = ;
qrbarcode.TopMargin = ;
qrbarcode.BottomMargin = ;
qrbarcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Gif; // Save QR Code barcode image into your system
qrbarcode.drawBarcode("E:/csharp-qrcode-lib.gif");
}

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");
}

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

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

 

C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code)的更多相关文章

  1. 使用Python第三方库生成二维码

    本文主要介绍两个可用于生成二维码的Python第三方库:MyQR和qrcode. MyQR的使用: 安装: pip install MyQR 导入: from MyQR import myqr imp ...

  2. 微信小程序开发——使用第三方插件生成二维码

    需求场景: 小程序中指定页面需要根据列表数据生成多张二维码. 实现方案: 鉴于需要生成多张二维码,可以将生成二维码的功能封装到组件中,直接在页面列表循环中调用就好了.也可以给组件添加slot,在页面调 ...

  3. 用ABAP 生成二维码 QR Code

    除了使用我的这篇blogStep by step to create QRCode in ABAP Webdynpro提到的使用ABAP webdynpro生成二维码之外,也可以通过使用二维码在线生成 ...

  4. 使用python调用zxing库生成二维码图片

    (1)     安装Jpype 用python调用jar包须要安装jpype扩展,在Ubuntu上能够直接使用apt-get安装jpype扩展 $ sudo apt-get install pytho ...

  5. uniapp 微信小程序 生成二维码

    使用 tki-qrcode组件 生成二维码(https://www.npmjs.com/package/tki-qrcode) 1.引入 tki-qrcode 下载组件后引入 import tkiQr ...

  6. js生成二维码的jquery组件–qrcode

    js生成二维码的jquery组件–qrcode 2015/01/30 / 2508 VIEWS / JAVASCRIPT, JQUERY 有一些耗cpu的计算,完全可以在客户端上计算,比如生成二维码. ...

  7. vue2.0 自定义 生成二维码(QRCode)组件

    1.自定义 生成二维码组件 QRCode.vue <!-- 生成二维码 组件 --> <template> <canvas class="qrcode-canv ...

  8. day111:MoFang:邀请好友流程&生成邀请好友二维码&第三方应用识别二维码&本地编译测试&记录邀请人信息

    目录 1.邀请业务逻辑流程图 2.邀请好友-前端 3.邀请好友-后端接口(生成二维码) 4.前端获取后端生成的二维码 5.前端长按页面,保存图片到相册 6.客户端通过第三方识别微信二维码,服务端提供对 ...

  9. 在Excel中,不利用任何第三方工具,生成二维码

    有同事提需求,要批量生成二维码.谈了之后,我觉得可以做个excel文件,把要打印的内容放进去,然后给每行数据生成一个二维码.下一步就要在Excel里面生成二维码.问了一下度娘,貌似都得利用一些第三方工 ...

随机推荐

  1. Java Annotation概述

    @(Java)[Annotation|Java] Java Annotation概述 用途 编译器的相关信息,如用于检测错误和一些警告 编译时和部署时的处理,如一些软件用于自动生成代码之类的 运行时处 ...

  2. FORM

    一 .新增的input输入属性 1.email类型 在表单提交E-mail地址时,无效的输入会生成很多无效数据,对后期的数据检索造成一定的影响.所以在表单提交之前,需要对输入的E-mail地址进行有效 ...

  3. js构造函数的方法与原型prototype

    把方法写在构造函数内的情况我们简称为函数内方法,把方法写在prototype属性上的情况我们简称为prototype上的方法 函数内的方法: 使用函数内的方法我们可以访问到函数内部的私有变量,如果我们 ...

  4. PopupWindow 使用

    昨天马失前蹄,为了做一个小键盘,耽误了两个小时,记录一下心路历程 1.关于需求与选择 需求: 点击一个按钮,弹出一个小键盘(类似于输入法键盘) 选择: (1)方案一:KeyboardView 这是百度 ...

  5. C#如何获取本机网络IP地址

    在开发过程中我们经常会碰到需要IP地址,用来记录用户上次登录的时间地址,或者sokect网络编程等等,下面介绍两种方式: 1. public static string GetIP() { retur ...

  6. Json.net日期格式化

    1. 全局设置,可以在App_Global中配置 JsonSerializerSettings setting = new JsonSerializerSettings(); JsonConvert. ...

  7. Angular.js中使用$watch监听模型变化

    $watch简单使用 $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objectEqua ...

  8. MongoDB数据库未授权访问漏洞及加固

    1.漏洞危害 开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增删改高危动作)而且可以远程访问数据库. 2.漏洞成因 在刚安装完毕的 ...

  9. UML类图符号 各种关系说明以及举例

    UML中描述对象和类之间相互关系的方式包括:依赖,关联,聚合,组合,泛化,实现等. 表示关系的强弱:组合>聚合>关联>依赖 相互间关系 聚合是表明对象之间的整体与部分关系的关联,而组 ...

  10. python address already in use

    1)找到使用端口的进程pid netstat -lp 2)kill掉pid kill -9 1234