1.在VS中下载ThoughtWorks.QRCode.dll
2.二维码生成函数,返回为Bitmap
private: Bitmap^DrawQRCodeBmp(String^ content,
int mENCODE_MODE,
int mQRCodeScale,
int mQRCodeVersion,
int mERROR_CORRECTION,
System::Text::Encoding^ encoding)
{
if (content == nullptr)
{
return nullptr;
}
if (mQRCodeScale <= 0 || mQRCodeScale > 10)
{
return nullptr;
}
if (mENCODE_MODE<(int)ThoughtWorks::QRCode::Codec::QRCodeEncoder::ENCODE_MODE::ALPHA_NUMERIC || mENCODE_MODE>(int)ThoughtWorks::QRCode::Codec::QRCodeEncoder::ENCODE_MODE::BYTE)//BYTE = 2
{
return nullptr;
}
//公式是:(V - 1) * 4 + 21(V是版本号)最高Version 40,(40 - 1) * 4 + 21 = 177,所以最高是177 x 177 的正方形。
//图片大小:[(V - 1) * 4 + 21]*QRCodeScale
//根据控件大小确定最佳参数;
//Y=(V - 1) * 4 + 21;最小尺寸
//L=Y*QRCodeScale;
//数据容量=(21×21 - 8*9*2-9*9 -4*1*2);Y-8*9*2-9*9 -4*V*2
if (mQRCodeVersion < 0 || mQRCodeVersion>40)//0-40;
{
return nullptr;
}
if (mERROR_CORRECTION<(int)ThoughtWorks::QRCode::Codec::QRCodeEncoder