用CImage类显示图片,一直重绘时,如何解决重绘带来的闪屏为题? 求高手解决呀
答案:1 悬赏:20 手机版
解决时间 2021-03-20 15:00
- 提问者网友:佞臣
- 2021-03-20 11:32
用CImage类显示图片,一直重绘时,如何解决重绘带来的闪屏为题? 求高手解决呀
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-03-20 12:03
用双缓冲绘图追问具体是怎么做呀,能不能给出具体的代码?追答用的GDI还是GDI+,给出具体代码追问在线程函数里,代码如下,然后图片就一直闪
{
CImage Image;
Image.Load("***.png");
Image.Draw(GetDC(p->m_hWnd),100,100,30,30);
int x=1;
while(1)
{
RedrawWindow();
Image.Draw(GetDC(p->m_hWnd),100+x,100,30,30);
x+=1;
}
}追答你这个Cimage的类不是微软的sdk提供的吧,自己封装的吗,这样没法弄,我不知道你相关的函数,给你讲一下双缓冲的原理吧,就是先在内存中创建一块画布,先将图画到该画布上,在一次呈现到屏幕上
{
CImage Image;
Image.Load("***.png");
Image.Draw(GetDC(p->m_hWnd),100,100,30,30);
int x=1;
while(1)
{
RedrawWindow();
Image.Draw(GetDC(p->m_hWnd),100+x,100,30,30);
x+=1;
}
}追答你这个Cimage的类不是微软的sdk提供的吧,自己封装的吗,这样没法弄,我不知道你相关的函数,给你讲一下双缓冲的原理吧,就是先在内存中创建一块画布,先将图画到该画布上,在一次呈现到屏幕上
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯