二维码比条形码具有更多优势,有些场合使用二维码比较多,比如支付。通过将某些数据生成二维码,就可以实现一码走天下。那么如何在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("已保存!");
            }

程序运行结果如下图:

下载示例源码

点击下载源码