我想将本机相机应用程序嵌入自定义表单中。我想嵌入相机的RECT属性如下:
r.top = 26;r.bottom = 220;r.left = 0;r.right = 320;
这是运行本机相机应用程序的方法:
HRESULT CPhotoCapture::CameraCapture( hwndOwner,LPTSTR pszFilename) { HRESULT hResult;
//Set the SHCAMERACAPTURE structure
ZeroMemory(&shcc, sizeof(shcc));
shcc.cbSize = sizeof(shcc);
shcc.hwndOwner = hwndOwner;
shcc.pszInitialDir = _T("\\My Documents");
shcc.pszDefaultFileName = _T("test.jpg");
shcc.pszTitle = _T("Camera Demo");
shcc.StillQuality = CAMERACAPTURE_STILLQUALITY_HIGH;
shcc.VideoTypes = CAMERACAPTURE_VIDEOTYPE_MESSAGING;
shcc.nResolutionWidth = 1024;
shcc.nResolutionHeight = 768;
shcc.nVideoTimeLimit = 15;
shcc.Mode = CAMERACAPTURE_MODE_STILL;
//display the camera capture dialog
hResult = SHCameraCapture(&shcc);
if(hResult == S_OK)
{
//TODO:: Write to log
}
return hResult;}
上面的方法是从维度等于r的窗口调用的:
HRESULT hr = S_OK;
hr = m_PhotoCapture.CameraCapture(this->m_hWnd, L"test");有人知道如何修改上面的函数(hwndOwner),即在矩形r中显示嵌入式资源的方式吗?
发布于 2008-12-12 15:09:50
您不太清楚hwndOwner指向的是什么。我的**猜测*这可能是如何工作的,您需要创建一个窗口,该窗口是主显示窗口的子窗口,其位置与rect (并且是可见的)匹配,然后传递它的句柄,然后捕获API使用DShow将框架抓取的输出从摄像机输送到句柄所代表的窗口。
发布于 2008-12-12 15:15:29
我认为您需要在自定义窗体上放置一个图片框(大小为您想要的尺寸),然后传递图片框的窗口句柄,而不是窗体本身的句柄。
https://stackoverflow.com/questions/363007
复制相似问题