使用工具:
Visual Studio(VS) 2013
第一步:
要用到一个类:QRCodeEncoder
这个类要添加一个动态库:ThoughtWorks.QRCode.dll(项目中有带)
然后引入命名空间:using ThoughtWorks.QRCode.Codec;
第二步:
声明一个 QRCodeEncoder 类实例:
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
然后设置编码方式: qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
设置编码方式的可选值有:
但一般使用byte字节码形式,
最后我将这些封装成了一个方法:
/// <summary>
/// 根据链接获取二维码
/// </summary>
/// <param name="link">要生成的文本或链接</param>
/// <returns></returns>
private Bitmap GetDimensionalCode(string link)
{
Bitmap bmp = null;
try
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeScale = 4;
//int version = Convert.ToInt16(cboVersion.Text);
qrCodeEncoder.QRCodeVersion = 7;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
bmp = qrCodeEncoder.Encode(link);
}
catch (Exception ex)
{
//MessageBox.Show("Invalid version !");
}
return bmp;
}