用C#如何生成二维码,我们可以通过现有的第三方dll直接来实现,下面列出几种不同的生成方法
正文
C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code)
用c#如何生成二维码,我们可以通过现有的第三方dll直接来实现,下面列出几种不同的生成方法:
1):通过qrcodenet(gma.qrcodenet.encoding.dll)来实现
1.1):首先通过vs2015的nuget下载对应的第三方组件,如下图所示:

1.2):具体生成二维码方法如下
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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");}} |
更多详细信息请参考如下链接:
http://www.zzvips.com/article/212029.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):具体生成二维码方法如下
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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();} |
3):通过spire.barcode(spire.barcode.dll)来实现
1.1):首先通过vs2015的nuget下载对应的第三方组件,如下图所示:

1.2):具体生成二维码方法如下
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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.barcodecontrol1barcodegenerator generator = new barcodegenerator(bs);image barcode = generator.generateimage();//save the barcode as an imagebarcode.save(@"e:\barcode-2d.png");} |
1.3):附加具体生成条形码方法如下
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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.barcodecontrol1barcodegenerator generator = new barcodegenerator(bs);image barcode = generator.generateimage();//save the barcode as an imagebarcode.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://www.zzvips.com/article/212031.html
4):通过barcode rendering framework(zen.barcode.rendering.framework.dll)来实现
4.1):首先通过vs2015的nuget下载对应的第三方组件,如下图所示:

4.2):具体生成二维码方法如下
|
1
2
3
4
5
6
|
private void generatebarcodebyzen(){code128barcodedraw barcode128 = barcodedrawfactory.code128withchecksum;image img = barcode128.draw("hello world", 40);img.save("e:/zenbarcode.gif");} |
4.3):附加具体生成条形码方法如下
|
1
2
3
4
5
6
|
private void generateqrbyzen(){codeqrbarcodedraw qrcode = barcodedrawfactory.codeqr;image img = qrcode.draw("hello world!", qrcode.getdefaultmetrics(40));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):具体生成二维码方法如下
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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 systemqrbarcode.drawbarcode("e:/csharp-qrcode-lib.gif");} |
5.2):附加具体生成条形码方法如下
|
1
2
3
4
5
6
7
8
9
|
private void generatelinearbybarcodelib(){linear barcode = new linear();barcode.type = barcodetype.code128;barcode.data = "code128";// other barcode settings.// save barcode image into your systembarcode.drawbarcode("e:/barcode.png");} |
我们使用的是试用版(带水印的......),还有付费的正版,详情请参考如下链接:
http://www.barcodelib.com/asp_net/
以上所述是小编给大家介绍的C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对米米素材网网站的支持!

发表评论