编译运行都没问题
就是贴不上图
监视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);
无法正常工作的原因??
谢谢了
是不是还缺少些什么初始化?
别的运行调用都正常 为什么?
就是贴不上图
监视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);
无法正常工作的原因??
谢谢了
是不是还缺少些什么初始化?
别的运行调用都正常 为什么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货