1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| //-----------Overlay -------------------------------------------------------------
overlay1=NULL;
hr = CoCreateInstance(CLSID_VideoRendererDefault, NULL, CLSCTX_INPROC_SERVER,IID_IBaseFilter, (void **)&filtreoverlay);//creation du manager
if (! SUCCEEDED(hr))
{
MessageBox(NULL,L"Impossible de creer le manager du filtre",L"",NULL);
}
hr = pGraph->AddFilter(filtreoverlay,L"Changement Couleur");
if (! SUCCEEDED(hr))
{
MessageBox(NULL,L"Impossible d'ajouter le filtre",L"Erreur de filtre",NULL);
}
hr = filtreoverlay->FindPin(L"VMR Input0", &PinInOverlay);
if (! SUCCEEDED(hr))
{
MessageBox(NULL,L"Impossible de trouver VMR",L"",NULL);
}
hr =PinInOverlay->QueryInterface(IID_IOverlay, (void **)&overlay1);
if (! SUCCEEDED(hr))
{
MessageBox(NULL,L"Erreur 1",L"",NULL);
}
hr = PinInOverlay->QueryInterface(IID_IPin, (void **) &filtreoverlay);
if (! SUCCEEDED(hr))
{
MessageBox(NULL,L"erreur 2",L"",NULL);
}
COLORKEY *color = new COLORKEY;
color->HighColorValue=RGB(rouge,vert,bleu);
color->LowColorValue=RGB(rouge,vert,bleu);
color->KeyType=CK_RGB;
color->PaletteIndex=0;
hr =overlay1->SetColorKey(color); |
Partager