当前位置: 编程技术>.net/c#/asp.net
asp.net生成与解析二维码的例子
来源: 互联网 发布时间:2014-08-30
本文导语: asp.net生成与解析二维码的例子。 要用到类库文件:ThoughtWorks.QRCode.dll,这个百度下。 在代码中增加: using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; 核心源代码分享下。 1,生成二维码 ...
asp.net生成与解析二维码的例子。
要用到类库文件:ThoughtWorks.QRCode.dll,这个百度下。
在代码中增加:
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
using ThoughtWorks.QRCode.Codec.Util;
using ThoughtWorks.QRCode.Codec.Data;
using ThoughtWorks.QRCode.Codec.Util;
核心源代码分享下。
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;
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;
String decodedString = decoder.decode(new QRCodeBitmapImage(new Bitmap(pb_view.Image)));
txtEncodeData.Text = decodedString;