CBaseControlVideo.GetStaticImage-Methode
Reine virtuelle Methode, die von abgeleiteten Klassen überschrieben wird.
Syntax
virtual HRESULT GetStaticImage(
long *pBufferSize,
long *pDIBImage
) = 0;
Parameter
-
pBufferSize
-
Zeiger auf die Größe des Ausgabepuffers.
-
pDIBImage
-
Zeiger auf den Ausgabepuffer.
Rückgabewert
Gibt einen HRESULT-Wert zurück.
Hinweise
Über die IBasicVideo-Schnittstelle kann eine Anwendung anfordern, dass sie eine Kopie des aktuellen Bilds in einem Speicherpuffer erhält (einige Renderer können E NOTIMPL an diese zurückgeben, wenn sie es nicht _ unterstützen). Die abgeleitete Klasse bestimmt, wie das Bild abgerufen wird. Wenn die Anwendung CBaseControlVideo::GetStaticImage aufruft, ruft sie diese reine virtuelle Methode auf, die die abgeleitete Klasse überschreiben sollte, um sie zu implementieren. Dies wird auch von der CBaseControlVideo::GetCurrentImage-Memberfunktion aufgerufen.
Die -Klasse stellt die Hilfsfunktion CBaseControlVideo::CopyImagezur Verfügung, der ein Beispiel mit einem Bild gegeben werden kann, und die Memberfunktion kopiert den relevanten Abschnitt davon (basierend auf dem aktuellen Quellrechteck) in den von der Anwendung bereitgestellten Ausgabepuffer.
Im folgenden Beispiel wird eine Implementierung dieser Memberfunktion in einer abgeleiteten Klasse veranschaulicht. In diesem Beispiel enthält m pRenderer ein Objekt einer Klasse, die von _ CBaseVideoRenderer abgeleitet wurde.
// Return a copy of the current image in the video renderer
HRESULT CVideoText::GetStaticImage(long *pBufferSize,long *pDIBImage)
{
// Get any sample the renderer may be holding.
IMediaSample *pMediaSample = m_pRenderer->GetCurrentSample();
if (pMediaSample == NULL) {
return E_UNEXPECTED;
}
// Call the base class helper method to do the work.
HRESULT hr = CopyImage(pMediaSample, // Buffer containing image
&m_pRenderer->m_mtIn, // Type representing bitmap
pBufferSize, // Size of buffer for DIB
(BYTE*) pDIBImage); // Data buffer for output
pMediaSample->Release();
return hr;
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|