二維碼生成、解析
1.添加引用ThoughtWorks.QRCode.dll控件。
2.添加類:QRCode,即:QRCode.cs
先引入命名空間:using System.Drawing;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
代碼: //二維碼生成方法
public Image QREncoder(string cardID)
{
Image image = null;
QRCodeEncoder encoder = new QRCodeEncoder();
try
{
////設(shè)置編碼類型
encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
////設(shè)置尺寸
encoder.QRCodeScale = 3;
////設(shè)置版本
encoder.QRCodeVersion = 2;
////設(shè)置糾錯
encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
image = encoder.Encode(cardID, System.Text.Encoding.UTF8);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
image = null;
}
return image;
}
// 根據(jù)二維碼獲取數(shù)據(jù)值方法
public string QRDecoder(Image image)
{
string str = new QRCodeDecoder().decode(new QRCodeBitmapImage(new Bitmap(image)), System.Text.Encoding.UTF8);
return str;
}
3.頁面功能代碼:
//生成二維碼
private void button1_Click(object sender, EventArgs e)
{
QRCode qrcode = new QRCode();
pictureBox1.Image=qrcode.QREncoder(textBox1.Text);
}
//二維碼解碼
private void button2_Click(object sender, EventArgs e)
{
QRCode qrcode = new QRCode();
lblqrcode.Text = qrcode.QRDecoder(pictureBox1.Image);
}
|