欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-15 18:37:22
用c#如何生成二维码,我们可以通过现有的第三方dll直接来实现,下面列出几种不同的生成方法: 1):通过qrcodenet(gma.qrcodenet.encoding....

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

1):通过qrcodenet(gma.qrcodenet.encoding.dll)来实现

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

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

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

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

2):通过thoughtworks.qrcode(thoughtworks.qrcode.dll)来实现

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

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

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

3):通过spire.barcode(spire.barcode.dll)来实现

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

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

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://www.e-iceblue.com/knowledgebase/spire.barcode/program-guide/programme-guide-for-spire.barcode.html

4):通过barcode rendering framework(zen.barcode.rendering.framework.dll)来实现

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

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

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

private void generatebarcodebyzen()
{
code128barcodedraw barcode128 = barcodedrawfactory.code128withchecksum;
image img = barcode128.draw("hello world", 40);
img.save("e:/zenbarcode.gif");
}

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

private void generateqrbyzen()
{
codeqrbarcodedraw qrcode = barcodedrawfactory.codeqr;
image img = qrcode.draw("hello world!", qrcode.getdefaultmetrics(40));
img.save("e:/zenqrcode.gif");
}

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

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

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

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

以上所述是小编给大家介绍的c#通过第三方组件生成二维码(qr code)和条形码(bar code),希望对大家有所帮助