一普通显示:现在的VC显示图片非常方便,远不是VC6.0那个年代的技术可比,而且支持多种格式的如JPG,PNG。

CImage _img;

初始化:

_img.Load(L"map.png");

显示:OnPaint事件中

CRect rect;
     this->GetClientRect(&rect);
     HDC hdc=::GetDC(this->m_hWnd);
     _img.Draw(hdc,rect);

几行代码就解决了。

二双缓冲显示:【因为是用了两个CImage实例,要不叫伪双缓冲吧,但实现方式确实是双缓冲,可以完成拼图显示等功能,当然防刷新闪烁是肯定有效的】

当时查了一天的百度,基本没用,第二天起床前想到了一个办法,其实很简单。用Datch什么的分离位图,反而无效,咱百度谷歌都没找到相关资料,所以这也算原创了吧。

CImage img0,img1;

img0.Load("*.png");

img1.Create(w,h,img0.GetBPP());
    HDC tmpdc=img1.GetDC();

先将img0的内存中的图画到img1的DC上,再用img1.Draw到显示设备中。

img0.StretchBlt(tmpdc,0,0,desw,desh,Scr.x,Scr.y,desw,desh);//将源图中RECT(scr.x,scr.y,desw,desh) 区域的图复制到目标区域。

img1.Draw(pdc->m_hDC,r);//r是显示区域,pdc是显示设备。

转载于:https://www.cnblogs.com/chenzuoyou/p/3299271.html

使用CImage双缓冲相关推荐

  1. CImage实现双缓冲最近邻插值

     一普通显示:现在的VC显示图片非常方便,远不是VC6.0那个年代的技术可比,而且支持多种格式的如JPG,PNG. CImage _img; 初始化: _img.Load(L"map.p ...

  2. Cimage下实现双缓冲绘图

    双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度. 双缓冲绘图的步骤: 1.在内存中创建与画布一致的 ...

  3. 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9334121 作者:七十一雾央 新浪微博:http:// ...

  4. Symbian屏幕双缓冲DSA

    本文作者: 冯兆麟(Simba) (kingsimba@tom.com) 本文献给使用Nokia Symbian 60 SDK各个版本开发游戏软件的程序员.虽然本文主要是针对游戏软件,但是大部分内容对 ...

  5. MFC双缓冲解决图象闪烁[转]

    转载网上找到的一篇双缓冲的文章,很好用.http://www.cnblogs.com/piggger/archive/2009/05/02/1447917.html _________________ ...

  6. Delphi 使用双缓冲解决图片切换时的闪烁问题 good

    Delphi 使用双缓冲解决图片切换时的闪烁问题 good 参考文章: (1)Delphi 使用双缓冲解决图片切换时的闪烁问题 good (2)https://www.cnblogs.com/find ...

  7. winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法。

    winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法. 参考文章: (1)winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解 ...

  8. Android中实现双缓冲(画板应用)和XML文件定义菜单

    1.什么是双缓冲技术?双缓冲技术就是当用户操作界面完成后,会有一个缓冲区保存用户操作的结果. 为什么要使用双缓冲技术?拿Android 游戏开发来说,界面贞每次都是全部重画的,也就说画了新的,旧的就没 ...

  9. C++零食:WTL中使用双缓冲避免闪烁

    双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板.首先我们在内存环境中建立一个"虚拟"的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制 ...

最新文章

  1. 转帖 javascript事件监听
  2. 美国多所高校宣称9月线下开学,纽约大学教授:请停止妄想!
  3. oracle:sql约束
  4. Valid Sudoku
  5. IDEA的十大快捷键
  6. 供来宾访问计算机打开安全吗,计算机安全设置操作手册(22页)-原创力文档
  7. 导数/微分/积分的区别
  8. ()用于创建python与数据库之间的联系_第一篇-Django建立数据库各表之间的联系(上)...
  9. 云擎供应链:为中小仓库提供SaaS供应链解决方案
  10. JAVA设对话框的位置,setLocation/setBounds皆可
  11. OpenGL.Superbible.7th.Edition(openGL超级宝典第七版)随书例子运行
  12. 线性代数常用的公式LaTeX表示
  13. 如何写数学建模竞赛论文
  14. 802.11n无线网卡驱动linux,Ubuntu 16.04 无线网卡驱动安装 80211
  15. 深圳大学毕业答辩PPT模板
  16. iredmail mysql 密码_iRedMail 批量创建用户 (repost)
  17. JDT操作AST重构if块
  18. 求一元二次方的根(虚根求法)
  19. c语言程序 出圈游戏,【出圈】 (C语言代码)
  20. android Zxing二维码之读取手机二维码图片

热门文章

  1. 玩转mini2440开发板之【在64位WIN7/WIN10系统中安装USB驱动】
  2. 如何在ubuntu 14.04系统下开启nfs网络文件系统
  3. 资源 | 普通程序员如何自学机器学习
  4. CSS中的position
  5. 机器学习中的随机过程_机器学习过程
  6. 【Android 修炼手册】常用技术篇 -- 聊聊 Android 的打包
  7. “魅力足球,艺术中国”2007中国艺术精英展
  8. 数字IC设计经典书籍
  9. java spring redis_spring配置redis(xml+java方式)
  10. java比ios慢_Android为什么比iOS慢