二維碼比條形碼具有更多優勢,有些場合使用二維碼比較多,比如支付。通過將某些數據生成二維碼,就可以實現一碼走天下。那么如何在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("已保存!");
}
程序運行結果如下圖:
下載示例源碼