使用双缓冲显示位图
来源:互联网 发布:淘宝丝芙兰代购能信吗 编辑:程序博客网 时间:2024/06/05 09:57
- void xxxDlg::ShowBitmap()
- {
- CDC memDC;
- CBitmap bmpShow;
- BITMAP bmpInfo;
- CDC* pCurDC = GetDC();//得到当前DC
- memDC.CreateCompatibleDC(pCurDC);//创建兼容的内存DC
- bmpShow.LoadBitmap(bmpResID);//bmpResID为位图资源ID号
- bmpShow.GetBitmap(&bmpInfo);
- CBitmap* pOldbmp = memDC.SelectObject(&bmpShow);//将位图选入到内存DC中
- //此处可以用memDC进行图像绘制,处理等
- pCurDC->StretchBlt(0,0,width,height,&memDC,0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,SRCCOPY);
- //copy内存DC到屏幕上显示 ,width,height为分别为显示的宽度和高度
- memDC.SelectObject(pOldbmp);//恢复旧对象
- ReleaseDC(pCurDC);//释放DC
- }
双缓冲就是前台缓冲(显示用)和后台缓冲(内存中),在后台中进行处理计算,处理完后将后台缓冲COPY到前台,可以减少屏幕闪烁,但有延时。
绘图步骤:
1、得到当前窗口DC
2、创建兼容的内存DC
3、将位图选入内存DC,选入后可以作进一步的处理
4、copy内存DC到显示设备
5、清理
- 使用双缓冲显示位图
- 双缓冲显示位图
- MFC双缓冲显示位图
- mfc 显示位图 与 双缓冲
- 从文件中加载位图,双缓冲显示
- 从文件中加载位图,双缓冲显示
- 利用双缓冲技术将位图像素数据写到DIB位图中并在指定的窗口显示(主要使用CreateDIBSection和BitBlt方法)
- 利用双缓冲技术将位图像素数据写到DIB位图中并在指定的窗口显示(主要使用CreateDIBSection和BitBlt方法)
- 高效的显示位图(四):缓冲位图
- 双缓冲加载位图 WinCE
- 双缓冲加载位图 WinCE
- 双缓冲\GDI保存位图
- 从资源中加载显示位图,通过双缓冲的方法显示
- 从资源中加载显示位图,通过双缓冲的方法显示
- mfc 利用HBITMAP 和CBITMAP 显示位图文件(双缓冲)
- VC显示双缓冲
- 改善双缓冲显示
- 使用vc显示bmp位图
- A Designer's Guide to Adobe InDesign and XML: Harness the Power of XML to Automate your Print and We
- 国际:写出漂亮代码的七种方法
- JavaScript正则表达式
- Better Than Bullet Points: Creating Engaging e-Learning with PowerPoint
- Apache Cayenne 3.0M5 版本发布
- 使用双缓冲显示位图
- 第一篇博文&&大家好
- 技巧:Vimdiff 使用
- C++ GUI Programming with Qt4 (2nd Edition)
- 30岁前成功的12条黄金法则
- Spring In Action(中文第二版)读书笔记(1-1)
- The Microsoft Expression Web Developer's Guide to ASP.NET 3.5: Learn to create ASP.NET applications
- 转发同事总结:一个BUG引发的血案(起因篇)
- Sams Teach Yourself Mac OS X Leopard All in One