双缓冲机制实现GDI快速绘图,那么需要创建一个内存设备环境,假设这个内存设备环境的大小是 1024 X 768,那么在这个内存设备环境选入各种 GDI 对象后进行绘图的过程中,如果绘图的位置发生在所设定区域之外,比如说需要在这个1024 X 768的区域之外还需要绘制 500 个点或是矩形,那么实际运行过程当中Windows 会不会真的对这500个点或矩形一一进行绘制?从而占用程序运行时间?谢谢!
双缓冲机制实现GDI快速绘图,那么需要创建一个内存设备环境,假设这个内存设备环境的大小是 1024 X 768,那么在这个内存设备环境选入各种 GDI 对象后进行绘图的过程中,如果绘图的位置发生在所设定区域之外,比如说需要在这个1024 X 768的区域之外还需要绘制 500 个点或是矩形,那么实际运行过程当中Windows 会不会真的对这500个点或矩形一一进行绘制?从而占用程序运行时间?谢谢!
CRect rect1(0,0,1024,768);
CRgn rgn;
rgn.CreateRectRgnIndirect(&(rect1));
pDC->SelectClipRgn(&rgn,RGN_COPY);
//draw something
pDC->SelectClipRgn(NULL,RGN_COPY);
rgn.DeleteObject();自己画的为止在draw something位置!
画完后,要恢复设备的环境!