顯示現場視頻: 全屏顯示影像

這個示例程序將演示如何全屏顯示現場視頻。
語言:.NET C#/Visual Basic
版本:3.0.3
发布于:2005年4月7日
作者:IC Imaging Control 技術支持部
需求:IC Imaging Control >2.1
由WDM數據流類驅動程序驅動的相機、視頻轉換器或圖像採集卡

The dialog window of the sample application.

請注意,程序調整的只是所顯示視頻的尺寸,視頻數據流本身並未做任何改動。

程序開始後首先調用內置對話框 (.ShowDeviceSettingsDialog) 使得用戶可以選擇視頻設備。 在函數 Form1_Load() 的末尾調用.LiveStart開啟現場視頻。

在調整視頻顯示尺寸之前,需要告訴IC Imaging Control不使用視頻數據流默認的顯示尺寸(即所選視頻格式的分辨率)。 具體語句為將 .LiveDisplayDefault 賦值為 false

下一步,將窗體最大化: WindowState = FormWindowState.Maximized;, 而後設置為無邊界: FormBorderStyle = FormBorderStyle.None。 然後將 IC Imaging control 的docking 屬性設置為 fill: icImagingControl1.Dock = DockStyle.Fill;

[C#]
private void Form1_Load(object sender, System.EventArgs e)
{
    icImagingControl1.ShowDeviceSettingsDialog();

    if( !icImagingControl1.DeviceValid )
    {
        Close();
        return;
    }

    WindowState = FormWindowState.Maximized;
    FormBorderStyle = FormBorderStyle.None;
    icImagingControl1.Dock = DockStyle.Fill;

    icImagingControl1.LiveStart();
}

Form1_Load() 中的代碼使得 IC Imaging Control 填滿了整個窗體,而窗體又被設置為全屏最大化。 在IC Imaging Control被重新設置尺寸後,調用 Resize 事件, 在IC Imaging Control 的 Resize 事件處理程序中設置現場視頻的顯示尺寸。

[C#]
private void icImagingControl1_Resize(object sender, System.EventArgs e)
{
    icImagingControl1.LiveDisplayDefault = false;
    icImagingControl1.LiveDisplayWidth = icImagingControl1.Width;
    icImagingControl1.LiveDisplayHeight = icImagingControl1.Height;
}

用戶可以通過點擊視頻停止這個程序, 具體實現方法是調用 ICImagingControl1_MouseUp。 請注意在這個事件處理程序中不能使用 Close, 而應將 Close 委託給程序的委託CloseDelegate,由它來關閉程序。

[C#]
private void icImagingControl1_MouseUp(object sender, TIS.Imaging.ICImagingControl.MouseEventArgs e)
{
    BeginInvoke( new CloseDelegate( Close ) );
}

相關源代碼示例

責任聲明
IC Imaging Control源代碼庫中的所有代碼均只用於教學目的,The Imaging Source Europe GmbH作為IC Imaging Control的開發製造商,不對任何由於使用本文或其中源代碼所產生的後果承擔責任。

该网站为The Imaging Source网络的一部分。其它的站点包括 公司, Imaging, 天文相機, Astronomy Cameras Blog, Blog caméras d'astronomie, 天文相機有獎競答, TX Text Control, LiveDocx, phpLiveDocxForum.