2019独角兽企业重金招聘Python工程师标准>>>
二维码生成解析指导
By:hollow
在二维码生成解决方案中我们选择ThoughtWorks的QRCode库。
在项目中引入ThoughtWorks.QRCode.dll
此dll在文件夹中可以获得。
引入相关命名空间:
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
根据字符串产生二维码图:
Bitmap generateImg(string link)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
//设置编码测量度
qrCodeEncoder.QRCodeScale = 4;// (值越大生成的二维码图片像素越高)
//设置编码版本
qrCodeEncoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
//设置编码错误纠正
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; //错误效验、错误更正(有4个等级:H-L-M-Q)
Bitmap bmp = qrCodeEncoder.Encode(link,Encoding.UTF8);
return bmp;
}
识别二维码,获取二维码中的字符串信息
string generateText(Image img)
{
string text=null;
try
{
QRCodeDecoder decoder = new QRCodeDecoder();
QRCodeImage qrimg = new QRCodeBitmapImage(new Bitmap(img));
text = decoder.decode(qrimg,Encoding.UTF8);
}
catch
{
MessageBox.Show("无法识别到二维码");
}
return text;
}
效果:
老规矩。工程源码文档打包。点击打开链接