我想在DC上画3张bitmap,在显示的时候,把这个三张bitmap都作为一张bitmap帖在DC上去,怎么解决,能给出源代码
我在OnTimer事件中每100us就刷新一次,如果把这3张bitmap一张张的贴上去,每刷新一次,屏幕就抖动一次,所以如果把3张bitmap都作为一张bitmap帖上去,就可以解决刷新时屏幕抖动的问题了,或者还有其他解决屏幕抖动的问题吗?
我在OnTimer事件中每100us就刷新一次,如果把这3张bitmap一张张的贴上去,每刷新一次,屏幕就抖动一次,所以如果把3张bitmap都作为一张bitmap帖上去,就可以解决刷新时屏幕抖动的问题了,或者还有其他解决屏幕抖动的问题吗?
在memory DC上把三张bitmap BitBlt上去
然后BitBlt到系统DC
HDC hdc1=::CreateCompatibleDC(hdc);
HDC hdc2=::CreateCompatibleDC(hdc);
HBITMAP bitmap;
bitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),filename,IMAGE_BITMAP,
100,100, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(bitmap==NULL)
{
// 出错处理
}
::SelectObject(hdc1,bitmap);
::BitBlt( hdc2 , 0 , 0 , 100 , 100 , hdc1 , 0 , 0 , SRCCOPY );
//这时图像就放入了hcd2.
::DeleteDC(hdc1);
::DeltetDC(hdc2);
::ReleaseDC(hdc);