/******************************************* ******************************* *函数名: * Slide(CDC *pDC) * *函数参数: * CDC *pDC-指向设备环境的指针,用于显示位图数据 * *返回值: * 无 * *说明:该函数实现了图像的滑动显示的效果 ********************************************** ****************************/ void SpecialEffectShow::Slide(CDC *pDC) { int bitmapWidth=GetDimensions().cx;//获得源图像 的宽度,以像素为单位 int bitmapHeight=GetDimensions().cy;//获得源图像 的高度,以像素为单位 CRect rect(0,0,bitmapWidth,bitmapHeight);//以源 图像的尺寸创建一个矩形 CBrush brush(RGB(255,255,255)); //设置画刷为白色 pDC->FillRect(&rect,&brush);//将已经显示出来的原 图像重新设置成白色,达到刷新屏幕的效果 LPBITMAPINFO pBitmapInfo=(BITMAPINFO*)m_lpBmpInfoHead; //为适应StretchDIBits函数的需要,将图像信息 头指针强制转换为LPBITMAPINFO类型 for(int i=0;i<=bitmapWidth;i++)//滑动特效显示的具体算法 { for(int j=0;j<=bitmapHeight;j=j+8) { ::StretchDIBits(pDC->GetSafeHdc(), 0, j-8 , i+1, 8, bitmapWidth-i, bitmapHeight-j, i+1, 8, m_pImgData, pBitmapInfo, DIB_RGB_COLORS, SRCCOPY); } Sleep(3);//设置延时时间 } } |