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

时间:2022-11-18 17:54:40

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;

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

主要源代码:

1.生成二维码

[C#]二维码生成、解码(QRCode)【支持winform、web调用】
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;
[C#]二维码生成、解码(QRCode)【支持winform、web调用】

2.解析二维码

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