当前位置:文档之家 > 双缓冲技术实现VC绘图

双缓冲技术实现VC绘图

********************所有的GDI绘图函数使用的都是逻辑坐标(逻辑范围)*******************

*******************系统默认情况下物理范围和逻辑范围是1:1 的对应关系*******************

1. 首先定义类成员:

CDC *m_pDC;

CDC MemDC;

CBitmap MemBitmap;

CBitmap *pOldbitmap;

LONG xRange; // 逻辑范围,x方向宽度

LONG yRange; // 逻辑范围,y方向高度

LONG nWidht; // 物理范围,x方向宽度

LONG nHeight; // 物理范围,y方向高度

2. 在类初始化函数中:

m_pDC = this->GetDC(); // 获取设备上下文句柄

CWnd *wnd = GetDlgItem(IDC_SHOWGRAPH); // 获取界面上显示图形的ID控件的句柄

wnd->GetWindowRect(&rect); // 获取显示/画图区域大小(物理范围)

ScreenToClient(&rect); // 转换为客户区坐标

nWidth = rect.Width(); // 显示/画图区域x方向物理宽度

nHeight = rect.Height(); // 显示/画图区域y方向物理高度

3.
在自定义函数中,设置视口与窗口的比例关系:

3. 在自定义函数中,设置视口与窗口的比例关系:

m_pDC->SetMapMode(MM_ANISOTROPIC); // 注意MM_ANISOTROPIC和MM_ISOTROPIC的区别

m_pDC->SetWindowExt(XRange,-yRange); // 设定窗口尺寸范围,画图使用的逻辑范围,实现放大或是缩小,坐标方向↑和→为正向

m_pDC->SetViewportExt(nWidth,nHeight); // 设定视口尺寸范围,客户区实际图形显示的区域范围,大小固定

m_pDC->SetViewportOrg(rect.left,rect.bottom); //设定画图的逻辑原点坐标(0,0)在物理坐标的

(rect.left,rect.bottom)点上

4. 在自定义函数中,双缓冲技术的使用:

下载Word文档免费下载:

双缓冲技术实现VC绘图下载

(共16页)

基于VC++的高效绘图——双缓冲技术

基于VC++的高效绘图——双缓冲技术 - Windows所有程序的输出其实都是图形,刚接触Windows编程的初学者,在利用CD绘制图形界面时经常会遇到由于频繁的刷新,而会导致...

VC++双缓冲绘图

VC++双缓冲绘图 - VC 双缓冲绘图 在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗 体在响应 WM_PAINT 消息的时候要进行复杂的图形处理,...

VC中的GDI双缓冲绘图

VC中的GDI双缓冲绘图 - VC中的GDI双缓冲绘图 ? 用VC开发图形相关的程序时,通常是响应WM_PAINT消息,在窗口的 OnPaint()函数里使用CPaintDC类进行绘制操作。 ...

vc双缓冲VC 双缓冲实现方法

vc双缓冲VC 双缓冲实现方法 - vc双缓冲:VC++双缓冲实现方法 疯狂代码 http://CrazyCoder.cn/ :http:/CrazyCoder.cn/VC/Article22...

用VC实现双缓冲技术

VC实现双缓冲技术 MFCMFC隐藏>> 用vc 做的画图程序,当所画的图形大于屏幕时,当拖动滚动条时屏幕就会出现严重的闪烁情况,为了解决这一问题就得使用双缓冲来解决...

VC++绘图时,利用双缓冲解决屏幕闪烁

VC++绘图时,利用双缓冲解决屏幕闪烁 绘图时, 绘图时 最近做中国象棋,绘制界面...vc双缓冲VC 双缓冲实现... 4页 5下载券 双缓冲技术实现VC绘图 16页 免费...

VC+双缓冲+滚动字幕 实现代码

VC+双缓冲+滚动字幕 实现代码_IT/计算机_专业资料。采用双缓冲的方法,可以极大...VC绘图-双缓冲技术 14页 免费 vc双缓冲 3页 1下载券 双缓冲技术实现VC...

VC贴图 ,双缓冲 ,三缓冲

我要讲的是用缓冲机制解决: 1.同上面的 2,3,4: CBitmap bmp; bmp.Load...用VC实现双缓冲技术 3页 免费 vc双缓冲 3页 1下载券 VC绘图-双缓冲技术 ...

基于VC_实现的实时数据监控和显示方法

的工作则需由程序员编写代码 N 文提出一种简单的方法, 不使用双缓冲技术、 不...VC 环境下工业监控软件趋势曲线显示画图实现 [ J]. 机电一体化, 2001, ( ...

VC重绘如何防止控件闪烁

57 用MFC如何高效地绘图 TouchMe 显示图形如何避免闪烁,如何提高显示效率是问得...3、如何实现双缓冲 首先给出实现的程序,然后再解释,同样是在OnDraw(CDC *pDC...