資源簡介
VC++ 2015 編譯通過 基于日本人寫的 CQR_Encode 源碼
調用方法:詳見 main.cpp,可在執行程序同一目錄中直接生成二維碼JPG圖片
代碼片段和文件信息
#include?“stdafx.h“
#include?“QR_Encode.h“
void?MakeQRCode()
{
LPCSTR??lpstr?=?“confirmationid=SCSDC0000001“
“&etid=0286673221“
“&consumer_id=SCSDC0000001“
“&consumer_name=測試用戶“
“&consumer_postcode=610041“
“&consumer_address=四川省成都市高新區XXX大廈A座3202室“
“&consumer_linkman=張三“
“&consumer_phone=9876543210123“;
CQR_Encode?*pEncode?=?new?CQR_Encode;
BOOL?bPass?=?pEncode->EncodeData(1?0?1?-1?lpstrstrlen(lpstr));//關鍵函數
if?(bPass)
{
int?width?=?0;//原始二維碼的寬和高
width?=?pEncode->m_nSymbleSize?+?(QR_MARGIN?*?2);//
CDC?memdc;//創建一個內存DC,用來在DC上繪制二維碼
CBitmap?memBmp;//內存BMP
memdc.CreateCompatibleDC(NULL);
memBmp.CreateCompatibleBitmap(&memdc?width?width);
CBitmap?*pOld?=?memdc.Selectobject(&memBmp);
memdc.PatBlt(0?0?width?width?WHITENESS);
for?(int?i?=?0;?im_nSymbleSize;++i)
{
for?(int?j?=?0;?jm_nSymbleSize;?++j)
{
if?(pEncode->m_byModuleData[i][j])//二維碼對應的數據儲存在這里
{
memdc.SetPixel(i?+?QR_MARGIN?j?+?QR_MARGIN?RGB(0?0?0));//將對應的像素設置為黑色
}
}
}
int?nDesSize?=?width?*?5;//因為原始二維碼很小,下面的代碼將原始的二維碼放大10倍后保存到文件
CDC?tempDc;
tempDc.CreateCompatibleDC(NULL);
CBitmap?tempBmg;
tempBmg.CreateCompatibleBitmap(&tempDc?nDesSize?nDesSize);
CBitmap?*pTold?=?tempDc.Selectobject(&tempBmg);
tempDc.StretchBlt(0?0?nDesSize?nDesSize?&memdc?0?0?width?width?SRCCOPY);
CImage?img;
img.Attach(tempBmg.operator?HBITMAP());
img.Save(L“QR_Encode_Output.jpg“);
img.Detach();
memdc.Selectobject(pOld);
memBmp.Deleteobject();
memdc.DeleteDC();
tempDc.Selectobject(pTold);
tempBmg.Deleteobject();
tempDc.DeleteDC();
}
delete?pEncode;
pEncode?=?NULL;
}
int?main()
{
MakeQRCode();
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-29?15:00??QR_Encode\
?????目錄???????????0??2018-03-29?16:13??QR_Encode\QR_Encode\
?????目錄???????????0??2018-03-29?14:29??QR_Encode\QR_Encode\.vs\
?????目錄???????????0??2018-03-29?14:29??QR_Encode\QR_Encode\.vs\QR_Encode\
?????目錄???????????0??2018-03-29?14:29??QR_Encode\QR_Encode\.vs\QR_Encode\v14\
?????文件???????44544??2018-03-29?16:13??QR_Encode\QR_Encode\.vs\QR_Encode\v14\.suo
?????目錄???????????0??2018-03-29?16:13??QR_Encode\QR_Encode\Debug\
?????文件???????41715??2018-03-29?16:11??QR_Encode\QR_Encode\Debug\QR_Encode_Output.jpg
?????文件??????????20??2018-03-29?15:22??QR_Encode\QR_Encode\Debug\run.bat
?????目錄???????????0??2018-03-29?16:10??QR_Encode\QR_Encode\QR_Encode\
?????目錄???????????0??2018-03-29?16:13??QR_Encode\QR_Encode\QR_Encode\Debug\
?????文件?????????874??2018-03-29?16:13??QR_Encode\QR_Encode\QR_Encode\Debug\QR_Encode.Build.CppClean.log
?????文件???????????3??2018-03-29?16:13??QR_Encode\QR_Encode\QR_Encode\Debug\QR_Encode.log
?????目錄???????????0??2018-03-29?16:14??QR_Encode\QR_Encode\QR_Encode\Debug\QR_Encode.tlog\
?????文件???????64276??2018-03-29?15:20??QR_Encode\QR_Encode\QR_Encode\QR_Encode.cpp
?????文件????????5186??2018-03-29?14:57??QR_Encode\QR_Encode\QR_Encode\QR_Encode.h
?????文件????????8078??2018-03-29?14:59??QR_Encode\QR_Encode\QR_Encode\QR_Encode.vcxproj
?????文件????????1404??2018-03-29?14:59??QR_Encode\QR_Encode\QR_Encode\QR_Encode.vcxproj.filters
?????文件???????41715??2018-03-29?16:10??QR_Encode\QR_Encode\QR_Encode\QR_Encode_Output.jpg
?????文件????????1524??2018-03-29?14:29??QR_Encode\QR_Encode\QR_Encode\ReadMe.txt
?????文件????????1887??2018-03-29?16:10??QR_Encode\QR_Encode\QR_Encode\main.cpp
?????文件?????????213??2018-03-29?14:29??QR_Encode\QR_Encode\QR_Encode\stdafx.cpp
?????文件?????????291??2018-03-29?15:46??QR_Encode\QR_Encode\QR_Encode\stdafx.h
?????文件?????????240??2018-03-29?14:29??QR_Encode\QR_Encode\QR_Encode\targetver.h
?????文件????64339968??2018-03-29?16:13??QR_Encode\QR_Encode\QR_Encode.VC.db
?????文件????????1309??2018-03-29?14:29??QR_Encode\QR_Encode\QR_Encode.sln
?????目錄???????????0??2018-03-29?14:29??QR_Encode\QR_Encode\ipch\
?????目錄???????????0??2018-03-29?15:46??QR_Encode\QR_Encode\ipch\QR_ENCODE-2ef4aeeb\
?????文件????81133568??2018-03-29?15:46??QR_Encode\QR_Encode\ipch\QR_ENCODE-2ef4aeeb\QR_ENCODE-baee875c.ipch
?????文件??????????81??2018-03-29?16:14??QR_Encode\readme.txt
評論
共有 條評論