您的位置:首页 > 其它

[转] WINCE如何调节位图透明度并显示

2009-11-02 18:29 253 查看
 
 
//******************************************************************
//图片从透明到不透明渐进显示
//******************************************************************
void Ddraw_AlphaBlend(HWND hWnd,DWORD PicID)
{
 BLENDFUNCTION blendfuction;
 RECT rect = {0,0,480,272};
 BYTE CurrentAlpha = 150;
   
 blendfuction.BlendOp = AC_SRC_OVER;
 blendfuction.BlendFlags = 0;
 blendfuction.AlphaFormat = 0;

 HDC hdcDest,hdcSrc;
 HBITMAP hBmp;
 hdcDest = GetDC(hWnd);
 hdcSrc = CreateCompatibleDC(hdcDest);
 hBmp = LoadBitmap(hInst,MAKEINTRESOURCE(PicID));
 HGDIOBJ hOldSel = SelectObject(hdcSrc,hBmp);
 BITMAP bmp;
 GetObject(hBmp,sizeof(BITMAP),&bmp);
 blendfuction.SourceConstantAlpha = CurrentAlpha;    //当前透明度 0~255
 if(!AlphaBlend(hdcDest,129,188,bmp.bmWidth, bmp.bmHeight,hdcSrc,0,0,bmp.bmWidth,bmp.bmHeight,blendfuction))
  {
    MessageBox(hWnd,TEXT("Error"),TEXT("err"),MB_OK);
  }
    SelectObject(hdcSrc,hOldSel);
 DeleteObject(hdcSrc);
 DeleteDC(hdcDest);
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wince byte