编译运行都没问题
就是贴不上图
监视hr返回值
hr=pWC->QueryInterface(IID_IVMRMixerBitmap, (LPVOID *)&pBmp);
返回正常
hr= pBmp->SetAlphaBitmap(&bmpInfo);
返回不了
代码如下
hdc = GetDC(hWnd);
pWC->QueryInterface(IID_IVMRMixerBitmap, (LPVOID *)&pBmp);          HBITMAP hbmp;HBITMAP hbmpold;
hbmp= CreateCompatibleBitmap(hdc, 128, 128);
      hbmpVmr = LoadBitmap(hInst, MAKEINTRESOURCE(IDR_VMR));
 hdcBmp = CreateCompatibleDC(hdc);
 hdcVMR = CreateCompatibleDC(hdc);

 
 hbmpold = (HBITMAP)SelectObject(hdcBmp, hbmp);
                    hbmpVmr = (HBITMAP)SelectObject(hdcVMR, hbmpVmr);
                    BitBlt(hdcBmp, 0, 0, 128, 128, hdcVMR, 0, 0, SRCCOPY);
RECT rc;
                    SetRect(&rc, 0, 0, 128, 32);
                    SetBkColor(hdcBmp, RGB(0, 0, 0));
                    SetTextColor(hdcBmp, RGB(255, 255, 255));                    DrawText(hdcBmp, "yyg", lstrlen("yyg"), &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE); //  BitBlt(hdc, 0, 0, 128, 128, hdcBmp, 0, 0, SRCCOPY);


                    ZeroMemory(&bmpInfo, sizeof(bmpInfo));
                    bmpInfo.dwFlags = VMRBITMAP_HDC | VMRBITMAP_SRCCOLORKEY;
                    bmpInfo.hdc = hdcBmp;
                    SetRect(&rc, 0, 0, 128, 128);
                    bmpInfo.rSrc = rc;                    bmpInfo.rDest.left = 0.25F;
                    bmpInfo.rDest.top = 0.25F;
                    bmpInfo.rDest.right = 0.75F;
                    bmpInfo.rDest.bottom = 0.75F;
bmpInfo.fAlpha = 0.5F;
                    
                    bmpInfo.clrSrcKey = RGB(0, 0, 0);                   hr= pBmp->SetAlphaBitmap(&bmpInfo);

if(SUCCEEDED(hr))
MessageBox(NULL,"ok","ok",0);
ReleaseDC(hWnd,hdc);
我想问问hr= pBmp->SetAlphaBitmap(&bmpInfo);
无法正常工作的原因??
谢谢了
是不是还缺少些什么初始化?
别的运行调用都正常 为什么?