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);
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);
解决方案 »
- picture加载的图片的背影色与对话框的背影色不同,怎么做才能变的相同
- 如何根据CallStack上显示的函数地址找到对应的函数?
- 调用OnCreate函数后、如果修改窗口显示的内容
- 我想在dll中“自定义一个消息”,在子线程中调用这个dll,然后把消息传给主线程的一个“进度条控件”,这个应该怎么做?
- 100分求助,关于BCG库V6.74版中的2个类!!!
- GDI+实现半透明的问题?
- 如何动态产生一个静态分割的窗口,请高手指教.
- 哪位大哥有unicode的汉字编码表,高分向求!
- 关于截屏问题,不好意思,没分啦!
- 两个对话框程序间通讯
- GDI 绘图 内存缓慢增长
- 为什么只有给dll的接口函数传参数的方式调用dll呀
改成CFont试试
不过你可以用win32的方式
m_pMemDC->SelectObject(&h); //选入字体
-->
::SelectObject(m_pMemDC->m_hDC, h);这些东西不要用new,反正在OnDraw中最后要删除的。