[C#]二維碼生成、解碼(QRCode)【支持winform、web調用】


[C#]二維碼生成、解碼(QRCode)【支持winform、web調用】

 

winform(Demo)下載:QRCode.rar 

web(Demo)下載:webQRCode.rar

【ThoughtWorks.QRCode.dll 就是類庫】

使用時需要增加:

using ThoughtWorks.QRCode.Codec;

using ThoughtWorks.QRCode.Codec.Data;

using ThoughtWorks.QRCode.Codec.Util;

演示包中的“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; 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM