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