在界面上输出文字,结果没法更改文字的大小
在界面上输出文字,结果无法更改文字的大小
CDC *m_pMemDC;
m_pMemDC = new CDC();
CDC *pDC;
pDC = GetDC();
m_pMemDC->CreateCompatibleDC(pDC);
CBitmap *m_pOldBmp = NULL;
CBitmap *m_pMemBmp = new CBitmap(); //根据图片的大小创建一个兼容位图
m_pMemBmp->CreateCompatibleBitmap(pDC, bmpWidth, bmpHeight);
m_pOldBmp = m_pMemDC->SelectObject(m_pMemBmp);
// 把图像的数据绘制到兼容位图上
SetDIBits(m_pMemDC->GetSafeHdc(), (HBITMAP)m_pMemBmp->m_hObject, 0, bmpHeight, (LPVOID)pBmpBuf, (BITMAPINFO*)&head, DIB_RGB_COLORS);
HFONT h = CreateFont(80,60,0,0,FW_BLACK,FALSE,FALSE,FALSE, GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,FIXED_PITCH|FF_MODERN,"宋体");
m_pMemDC->SelectObject(&h); //选入字体
m_pMemDC->SetBkMode(TRANSPARENT);
m_pMemDC->SetTextColor(RGB(255, 0, 0));
// 添加文字到指定位置
m_pMemDC->TextOut(20, bmpHeight-80, info1);
------解决方案--------------------
CDC的virtual CFont* SelectObject( CFont* pFont );好像参数没有HFONT的
改成CFont试试
------解决方案--------------------
// 1楼是对的
不过你可以用win32的方式
m_pMemDC->SelectObject(&h); //选入字体
-->
::SelectObject(m_pMemDC->m_hDC, h);
这些东西不要用new,反正在OnDraw中最后要删除的。
CDC *m_pMemDC;
m_pMemDC = new CDC();
CDC *pDC;
pDC = GetDC();
m_pMemDC->CreateCompatibleDC(pDC);
CBitmap *m_pOldBmp = NULL;
CBitmap *m_pMemBmp = new CBitmap(); //根据图片的大小创建一个兼容位图
m_pMemBmp->CreateCompatibleBitmap(pDC, bmpWidth, bmpHeight);
m_pOldBmp = m_pMemDC->SelectObject(m_pMemBmp);
// 把图像的数据绘制到兼容位图上
SetDIBits(m_pMemDC->GetSafeHdc(), (HBITMAP)m_pMemBmp->m_hObject, 0, bmpHeight, (LPVOID)pBmpBuf, (BITMAPINFO*)&head, DIB_RGB_COLORS);
HFONT h = CreateFont(80,60,0,0,FW_BLACK,FALSE,FALSE,FALSE, GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,FIXED_PITCH|FF_MODERN,"宋体");
m_pMemDC->SelectObject(&h); //选入字体
m_pMemDC->SetBkMode(TRANSPARENT);
m_pMemDC->SetTextColor(RGB(255, 0, 0));
// 添加文字到指定位置
m_pMemDC->TextOut(20, bmpHeight-80, info1);
------解决方案--------------------
CDC的virtual CFont* SelectObject( CFont* pFont );好像参数没有HFONT的
改成CFont试试
------解决方案--------------------
// 1楼是对的
不过你可以用win32的方式
m_pMemDC->SelectObject(&h); //选入字体
-->
::SelectObject(m_pMemDC->m_hDC, h);
这些东西不要用new,反正在OnDraw中最后要删除的。