MFC中显示一张位图
来源:互联网 发布:文学常识软件 编辑:程序博客网 时间:2024/04/28 21:35
1、用类CBitmap加载位图
2、创建内存DC, 将位图选进此内存DC
3、调用BitBlt将内存DC的内容拷贝到其它DC(通知是显示DC)
例子(来自MSDN):
// This OnDraw() handler loads a bitmap from system resources,// centers it in the view, and uses BitBlt() to paint the bitmap// bits.void CBlat2View::OnDraw(CDC* pDC){ CBlat2Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // load IDB_BITMAP1 from our resources CBitmap bmp; if (bmp.LoadBitmap(IDB_BITMAP1)) { // Get the size of the bitmap BITMAP bmpInfo; bmp.GetBitmap(&bmpInfo); // Create an in-memory DC compatible with the // display DC we're using to paint CDC dcMemory; dcMemory.CreateCompatibleDC(pDC); // Select the bitmap into the in-memory DC CBitmap* pOldBitmap = dcMemory.SelectObject(&bmp); // Find a centerpoint for the bitmap in the client area CRect rect; GetClientRect(&rect); int nX = rect.left + (rect.Width() - bmpInfo.bmWidth) / 2; int nY = rect.top + (rect.Height() - bmpInfo.bmHeight) / 2; // Copy the bits from the in-memory DC into the on- // screen DC to actually do the painting. Use the centerpoint // we computed for the target offset. pDC->BitBlt(nX, nY, bmpInfo.bmWidth, bmpInfo.bmHeight, &dcMemory, 0, 0, SRCCOPY); dcMemory.SelectObject(pOldBitmap); } else TRACE0("ERROR: Where's IDB_BITMAP1?\n");}
0 0
- MFC中显示一张位图
- VC中如何显示一张位图
- MFC中控件位图显示
- MFC中位图显示函数
- 在C++中是这样显示一张位图的
- MFC中显示位图的方法
- VS2008中MFC单文档显示位图
- MFC中实现简单的位图显示
- MFC中实现位图的透明显示
- MFC中在视图窗口显示位图
- dls显示一张BMP位图。
- MFC下位图显示
- MFC如何显示位图
- mfc 显示位图
- MFC 显示位图
- MFC显示位图
- MFC位图显示
- MFC显示位图
- Linux中的task_struct结构体
- ubuntu14.04安装tomcat8
- [LeetCode]208. Implement Trie (Prefix Tree)
- BeginPaint/EndPaint(CPaintDC)与GetDC(CClientDC)的区别
- 平均周转时间各种算法
- MFC中显示一张位图
- 删除排序链表中的重复元素
- 多线程(九)Callable、Future和FutureTask
- 关于内存DC
- 关于SelectObject之后是否要恢复之前的GDI对象
- 单色位图、颜色(色彩)位图相互转换
- 绘制透明背景位图
- MFC模态对话框程序不响应OnIdle
- MCI支持的格式在注册表中的位置