CBaseControlVideo.SetDefaultSourceRect-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die SetDefaultSourceRect -Methode legt das Standardquellvideorechteck (rein virtuell) fest. Dies in einer internen Memberfunktion, die aufgerufen wird, wenn das Quellrechteck zurückgesetzt wird.

Syntax

virtual HRESULT SetDefaultSourceRect() = 0;

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt einen HRESULT-Wert zurück.

Bemerkungen

Abgeleitete Klassen sollten dies überschreiben, um das Quellrechteck zurückzusetzen. Es wird von CBaseControlVideo::SetDefaultSourcePosition aufgerufen.

Im folgenden Beispiel wird eine Implementierung dieser Funktion in einer abgeleiteten Klasse veranschaulicht.

// This is called when you reset the default source rectangle.
HRESULT CVideoText::SetDefaultSourceRect()
{
    VIDEOINFO *pVideoInfo = (VIDEOINFO *) m_pRenderer->m_mtIn.Format();
    BITMAPINFOHEADER *pHeader = HEADER(pVideoInfo);
    RECT SourceRect = {0,0,pHeader->biWidth,pHeader->biHeight};
    m_pRenderer->m_DrawImage.SetSourceRect(&SourceRect);
    return NOERROR;
}

In diesem Beispiel ist CVideoText eine von CBaseControlVideo abgeleitete Klasse, m_pRenderer ein Objekt einer klasse enthält, die von CBaseVideoRenderer abgeleitet ist, und der in der abgeleiteten Klasse definierte m_DrawImage Datenmember enthält ein CDrawImage-Objekt . Der m_mtIn Datenmember, der ebenfalls in der abgeleiteten Klasse definiert ist, enthält ein CMediaType-Objekt mit dem Medientyp des Eingabenadels.

Anforderungen

Anforderung Wert
Header
Ctlutil.h (Streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBaseControlVideo-Klasse