[C#]二维码生成、解码(QRCode)【支持winform、web调用】

winform(Demo)下载:QRCode.rar 

web(Demo)下载:webQRCode.rar

【ThoughtWorks.QRCode.dll 就是类库】【demo中有这个dll,不要再让我发邮件了~~我伤不起啊~~】

使用时需要增加:

using ThoughtWorks.QRCode.Codec;

using ThoughtWorks.QRCode.Codec.Data;

using ThoughtWorks.QRCode.Codec.Util;

[C#]二维码生成、解码(QRCode)【支持winform、web调用】

演示包中的“QRCode.dll”是封装的类库。可以留邮箱,发给你们源码。

主要源代码:

1.生成二维码

QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();   

String encoding = cboEncoding.Text;   

if (encoding == "Byte")   

{   

     qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;   

}   

else if (encoding == "AlphaNumeric")   

{   

     qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;   

}   

else if (encoding == "Numeric")   

{   

     qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;   

}   

try   

{   

     int scale = Convert.ToInt16(txtSize.Text);   

     qrCodeEncoder.QRCodeScale = scale;   

}   

catch (Exception ex)   

{   

     MessageBox.Show("Invalid size!");   

     return;   

}   

try   

{   

     int version = Convert.ToInt16(cboVersion.Text);   

     qrCodeEncoder.QRCodeVersion = version;   

}   

catch (Exception ex)   

{   

     MessageBox.Show("Invalid version !");   

}   

   

string errorCorrect = cboCorrectionLevel.Text;   

if (errorCorrect == "L")   

     qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;   

else if (errorCorrect == "M")   

     qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;   

else if (errorCorrect == "Q")   

     qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;   

else if (errorCorrect == "H")   

     qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;    

Image image;   

String data = txtEncodeData.Text;   

image = qrCodeEncoder.Encode(data);   

pb_view.Image = image;  

2.解析二维码

QRCodeDecoder decoder = new QRCodeDecoder();   

String decodedString = decoder.decode(new QRCodeBitmapImage(new Bitmap(pb_view.Image)));   

txtEncodeData.Text = decodedString; 

 

你可能感兴趣的:(WinForm)