1.创建并显示
QRcode* pQR_Encode;
pQR_Encode = QRcode_encodeString("12345678901234567890", 0, QR_ECLEVEL_H, QR_MODE_8, 1);
if (pQR_Encode)
{
int nBmpWidth = pQR_Encode->width;
//获取控件的边界大小
CRect rect;
GetDlgItem(IDC_PIC)->GetClientRect(&rect);
CStatic* pic =(CStatic * )GetDlgItem(IDC_PIC);
//定义并创建一个内存设备环境DC
CDC* pCurCDC = GetDlgItem(IDC_PIC)->GetDC();
//CDC *pCurCDC = GetDC();
//创建兼容性的DC
CDC* pWorkDC = new CDC;
pWorkDC->CreateCompatibleDC(pCurCDC);
//pWorkDC->CreateCompatibleDC(NULL);
CBitmap workBitmap;
CBitmap backBitmap;
CDC* pBackDC = new CDC;
pBackDC->CreateCompatibleDC(pCurCDC);
//workBitmap.CreateCompatibleBitmap(pWorkDC, nBmpWidth, nBmpWidth);
workBitmap.CreateCompatibleBitmap(pWorkDC, rect.Width(), rect.Height());
backBitmap.CreateCompatibleBitmap(pBackDC, rect.Width(), rect.Height());
CBitmap* pOldBitmap = pWorkDC->SelectObject(&workBitmap);//将位图选入临时内存设备环境
CBitmap* pbackBitmap = pBackDC->SelectObject(&backBitmap);
// 背景全部画成白色
pWorkDC->PatBlt(0, 0, nBmpWidth, nBmpWidth, WHITENESS);
// pBackDC->PatBlt(0, 0, nBmpWidth, nBmpWidth, WHITENESS);
// 根据二维码内容绘制位图
unsigned char* pSourceData = pQR_Encode->data;
for (

文章介绍了如何使用QRcode库创建二维码,包括编码字符串、绘制到位图、以及将位图保存为图像文件的过程。作者详细展示了从编码到图像输出的完整步骤。
最低0.47元/天 解锁文章
2253

被折叠的 条评论
为什么被折叠?



