灰度图像淡入到彩色图像与彩色图像淡出到灰度图像

灰度图像淡入到彩色图像与彩色图像淡出到灰度图像

ID:13818907

大小:23.26 KB

页数:7页

时间:2018-07-24

灰度图像淡入到彩色图像与彩色图像淡出到灰度图像_第1页
灰度图像淡入到彩色图像与彩色图像淡出到灰度图像_第2页
灰度图像淡入到彩色图像与彩色图像淡出到灰度图像_第3页
灰度图像淡入到彩色图像与彩色图像淡出到灰度图像_第4页
灰度图像淡入到彩色图像与彩色图像淡出到灰度图像_第5页
资源描述:

《灰度图像淡入到彩色图像与彩色图像淡出到灰度图像》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、灰度图像淡入到彩色图像与彩色图像淡出到灰度图像voidFadeInColorORFadeOutGray(CDC*pDC,HANDLEhDIB,intxDest,intyDest,intnLoops,intnDelay,intnFlag){CPalettepal;CPalette*pOldPalette;PALETTEENTRYpAnimate[256];PALETTEENTRYpGray[256];PALETTEENTRYpOriginal[256];BITMAPINFO&bmInfo=*(LPBITMAPIN

2、FO)hDIB;¡¡intnColors=bmInfo.bmiHeader.biClrUsed?bmInfo.bmiHeader.biClrUsed:1<236?236:nReservedColors;intnWidth=bmInfo.bmiHeader.biWidth;intnHeight=bmInfo.bmiHeader.biHeight;LPVOIDlpDIBBits=(LPVOID)(bmIn

3、fo.bmiColors+nColors);if(pDC->GetDeviceCaps(RASTERCAPS)&RC_PALETTE&&nColors<=256){HPALETTEhPal=Create236Palette(hDIB);pal.Attach(hPal);//µÃµ½Î»Í¼µ÷É«°åpal.GetPaletteEntries(0,nReservedColors,(LPPALETTEENTRY)&pOriginal);for(inti=0;i

4、½ÑÕÉ«¶ÔÓ¦»Ò¶ÈÖµintnGray=(pOriginal[i].peRed*299+pOriginal[i].peGreen*587+pOriginal[i].peBlue*114)/1000;pGray[i].peRed=nGray;pGray[i].peGreen=nGray;pGray[i].peBlue=nGray;pGray[i].peFlags=PC_RESERVED;}pOldPalette=pDC->SelectPalette(&pal,FALSE);pDC->RealizePale

5、tte();CDCmemDC;memDC.CreateCompatibleDC(pDC);CBitmapbmp;bmp.CreateCompatibleBitmap(pDC,nWidth,nHeight);CBitmap*pOldBitmap=memDC.SelectObject(&bmp);CPalette*pOldMemPalette=memDC.SelectPalette(&pal,FALSE);memDC.RealizePalette();::SetDIBitsToDevice(memDC.m_hDC,

6、0,0,nWidth,nHeight,0,0,0,nHeight,lpDIBBits,(LPBITMAPINFO)hDIB,DIB_RGB_COLORS);if(nFlag==1)//ÉèÖûҶȵ÷É«°åAnimatePalette(hPal,0,nColors,(LPPALETTEENTRY)&pGray);pDC->BitBlt(xDest,yDest,nWidth,nHeight,&memDC,0,0,SRCCOPY);//ÉèÖö¯Ì¬µ÷É«°å³õʼֵΪµ±Ç°µ÷É«°åpal.G

7、etPaletteEntries(0,nColors,(LPPALETTEENTRY)&pAnimate);¡¡memDC.SelectPalette(pOldMemPalette,FALSE);memDC.SelectObject(pOldBitmap);//µÈëµ³öfor(i=1;i<=nLoops;i++){for(intj=0;j

8、al[j].peRed)*i)/nLoops;pAnimate[j].peGreen=pGray[j].peGreen-((pGray[j].peGreen-pOriginal[j].peGreen)*i)/nLoops;pAnimate[j].peBlue=pGray[j].peBlue-((pGray[j].peBlue-pOriginal[j].peBlue)*i)/nLoops

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。