双缓冲技术解决图像闪屏问题

请教一下,利用VC的双缓冲技术解决打开磁盘上的图像闪屏如何解决!我打开的图片是采用打开DIB图像方式,而不是DDB,在线等候高手赐教,我的QQ是351927212,谢谢!... 请教一下,利用VC的双缓冲技术解决打开磁盘上的图像闪屏如何解决!我打开的图片是采用打开DIB图像方式,而不是DDB,在线等候高手赐教,我的QQ是351927212,谢谢! 展开
 我来答
_ai0502
2012-08-07
知道答主
回答量:19
采纳率:0%
帮助的人:25.8万
展开全部
您好,通常情况下,增加1个DC可以解决闪屏问题。
新的DC用于在后缓冲区中绘图。
再用CDC::BitBlt()这类函数将新DC的内容绘制到窗口绘图区的DC,通常这样就可以解决闪屏了。

假设您在MFC视图类中使用OnDraw函数绘图,示例代码如下:
///////////////////////////////////begin///////////////////////////////////////////////////////////////
void 您的视图类名称::OnDraw(CDC* pDC)
{
...
...
//新DC
CDC MemDC;

//创建与原Dc兼容的DC,用于后台绘图
MemDC.CreateCompatibleDC(/*这里的参数是窗口绘图区的DC指针*/ pDC);

/*在MemDC中绘制DIB图像*/
...
...
//调用CDC::BitBlt()函数,将MemDC中的内容绘制到pDC
pDC->BitBlt(..., &MemDC, ...);
...
...
}
////////////////////////////////////////////////////end//////////////////////////////////////////////////////////////////////////////////////////
如上示例是使用MFC解决问题的思路,如果您直接调用的是Windows API则请参考上述代码修改,思路不变。希望我的回答可以帮到您。
奥蕾达
2024-11-14 广告
透明LED显示屏顾名思义就是LED屏像玻璃一样具有透过光线的性质。具有50%到90%的通透率,面板厚度仅为10m左右,其高通透性与其特殊的材质、结构及安装方式紧密相关。 透明LED显示屏与LED玻璃屏都LED显示屏具透明特点透明LED显示屏... 点击进入详情页
本回答由奥蕾达提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式