Metode CBaseControlVideo.SetDefaultSourceRect
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Audio/Video Capture di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Metode ini SetDefaultSourceRect
mengatur persegi panjang video sumber default (virtual murni). Ini dalam fungsi anggota internal yang dipanggil ketika persegi panjang sumber diatur ulang.
Sintaks
virtual HRESULT SetDefaultSourceRect() = 0;
Parameter
Metode ini tidak memiliki parameter.
Nilai kembali
Mengembalikan nilai HRESULT .
Keterangan
Kelas turunan harus mengambil alih ini untuk mengatur ulang persegi panjang sumber. Ini dipanggil dari CBaseControlVideo::SetDefaultSourcePosition.
Contoh berikut menunjukkan implementasi fungsi ini di kelas turunan.
// 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;
}
Dalam contoh ini, CVideoText adalah kelas yang berasal dari CBaseControlVideo, m_pRenderer menyimpan objek kelas yang berasal dari CBaseVideoRenderer, dan anggota data m_DrawImage, yang ditentukan dalam kelas turunan, menyimpan objek CDrawImage . Anggota data m_mtIn, juga didefinisikan di kelas turunan, menyimpan objek CMediaType dengan jenis media pin input.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk