我的VC之路--VC显示双缓冲

转载 2007年09月18日 18:07:00

当应用程序中使用多次GDI调用绘制到窗口中时,在窗口清除并被重新绘制时,会出现明显的闪烁。使用双缓冲技术可轻松消除闪烁。

步骤如下:

1、假设当前显示设备上下文为CDC * pDC;

2、使用CDC对象创建可兼容设备上下文,

      CDC memdc;

      memdc.CreateCompatibleDC(pDC);

3、使用CBitmap对象创建可兼容为图,

      CBitmap bmp;

      bmp.CreateCompatibleBitmap(pDC,SCREEN_WIDTH,SCREEN_HEIGHT);

4、将CBitmap对象选入CDC对象中,

     CBitmap *poldbmp=memdc.SelectObject(&bmp);

5、绘图操作,在memdc中进行,如:

     for(int i=0;i<N;i++)
    {
              memdc.MoveTo(i,0);
              memdc.LintTo(i,N);
     }

    Rectangle(hdcMem,0,0,SCREEN_WIDTH,SCREEN_HEIGHT);
   DrawMenuButton(hdcMem);

6、使用BitBlt函数将memdc内容拷贝至pDC

pDC->BitBlt(0,0,SCREEN_WIDTH,SCREEN_HEIGHT,&memdc,0,0,SRCCOPY);

7、最后别忘了,

    memdc.SelectObject(poldbmp);

VC双缓冲绘图技术介绍

VC双缓冲绘图技术介绍     双缓冲绘图,它是一种基本的图形图像绘图技术。首先,它在内存中创建一个与屏幕绘图区域一致的对象,然后将图形绘制到内存中的这个对象上,最后把这个对象上的图形数据一次性地...
  • oceanlucy
  • oceanlucy
  • 2015年07月10日 10:52
  • 2440

MFC VC 双缓冲绘图基本原理与实现,详细解释

MFC VC 双缓冲绘图基本原理与实现,详细解释 MFC做了一些时间了,不得不面对 的是在界面上画图的。 当然你可以直接搜索到能用的代码,并且基本能满足要求。不过这样总不是学习的态度。本着学习...
  • foreverhuylee
  • foreverhuylee
  • 2014年03月19日 18:10
  • 11879

VC使用双缓冲避免绘图闪烁的正确使用方法【转】

VC使用双缓冲避免绘图闪烁的正确使用方法【转】 使用内存DC绘图,然后实现双缓冲,避免绘图闪烁,这个小技术简单但很有效。但是仍然有很多人说使用了双缓冲,图片却仍然有闪烁,分析了几...
  • aasmfox
  • aasmfox
  • 2014年04月24日 07:04
  • 1594

VC 绘图,使用双缓冲技术实现 2012-02-06 16:47:07 分类: C/C++

*******所有的GDI绘图函数使用的都是逻辑坐标(逻辑范围)******************* *******************系统默认情况下 物理范围和逻辑范围 是1:1...
  • CAICHAO1234
  • CAICHAO1234
  • 2013年03月12日 22:11
  • 1384

VC 双缓冲绘图

VC 双缓冲绘图 在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题...
  • aasmfox
  • aasmfox
  • 2014年04月24日 07:09
  • 439

VC 双缓冲绘图

原文来自http://www.cppblog.com/wrhwww/archive/2011/03/01/140913.html VC 双缓冲绘图 在图形图象处理编程过程中,双缓冲是一种基本的技...
  • tpnndhqc
  • tpnndhqc
  • 2015年08月20日 09:48
  • 279

VC双缓冲绘图

最早在vchelp上发表过的一篇文章,VChelp已经上不了了,又有好多人问人关于VC双缓冲绘图方面的问题,下面我将这篇文章再重新发出来,供大家学习一下:     用vc做的画图程序,当所画的图形...
  • jiayou8809
  • jiayou8809
  • 2014年02月12日 14:44
  • 601

VC 双缓冲 绘图

*******************************************************************例子*******************************...
  • xiangyaquan
  • xiangyaquan
  • 2013年09月11日 09:11
  • 676

VC双缓冲绘图

最早在vchelp上发表过的一篇文章,VChelp已经上不了了,又有好多人问人关于VC双缓冲绘图方面的问题,下面我将这篇文章再重新发出来,供大家学习一下:     用vc做的画图程序,当所画的图形...
  • gumingyaotangwei
  • gumingyaotangwei
  • 2013年04月03日 20:59
  • 727

VC 双缓冲绘图

在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲...
  • gws1229
  • gws1229
  • 2015年07月30日 09:51
  • 269
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的VC之路--VC显示双缓冲
举报原因:
原因补充:

(最多只允许输入30个字)