显示现场视频: 全屏显示影像

这个示例程序将演示如何全屏显示现场视频。
语言:.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.