je suis en train de me baser su un sample du windows mobile 6 sdk pour pouvoir afficher l'image perçue par la caméra d'un smartphone. l'exemple utilisé permet de capturer une image ou une vidéo. je voudrais pouvoir obtenir le buffer de l'image courante pour l'afficher en openGL (ES).
le code pour capturer une photo est le suivant :
//---------------------------------------------------------------------------------------------------------------------------------------
HRESULT Video::captureStillImageInternal()
{
HRESULT hr = S_OK;
CComPtr<IFileSinkFilter> pFileSink;
CComPtr<IUnknown> pUnkCaptureFilter;
CComPtr<IPin> pStillPin;
CComPtr<IAMVideoControl> pVideoControl;
m_pImageSinkFilter.QueryInterface( &pFileSink );
pFileSink->SetFileName( L"\\test.jpg", NULL );
m_pVideoCaptureFilter.QueryInterface( &pUnkCaptureFilter );
m_pCaptureGraphBuilder->FindPin( pUnkCaptureFilter, PINDIR_OUTPUT, &PIN_CATEGORY_STILL, &MEDIATYPE_Video, FALSE, 0, &pStillPin );
m_pVideoCaptureFilter.QueryInterface( &pVideoControl );
pVideoControl->SetMode( pStillPin, VideoControlFlag_Trigger );
return hr;
}
comment faire pour juste récupérer le buffer image ?
Partager