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

这个示例程序将演示如何使用 IC Imaging Control 全屏显示一个视频。
语言:Visual Basic 6
版本:3.0.3
发布于:2005年4月7日
作者:IC Imaging Control 技术支持部
系统要求:IC Imaging Control >2.1
由WDM数据流类驱动程序驱动的相机、视频转换器或图像采集卡

全屏模式下显示的图像数据流经常需要被调整到屏幕尺寸的大小。 下面这个例子(Visual Basic)将演示如何使用 IC Imaging Control 剪裁图像。 需要注意的是,这里程序剪裁的只是显示出的图像,而并未对视频数据流本身做任何操作。

程序窗口如图所示:

The dialog window of the sample application.

程序开始后首先调用内置对话框 (.ShowDeviceSettingsDialog) 选择设备。 在函数 (Form_Load()) 的最后程序将通过 .LiveStart 开启设备传来的实时影像。 程序还需通知 IC Imaging Control 不使用图像数据流的默认分辨率 (.LiveDisplayDefault)。之后,使用屏幕的高和宽 (.Height and .Width) 确定视频显示的高和宽(.LiveDisplayHeight.LiveDisplayWidth):

Private Sub Form_Load()
    ICImagingControl1.ShowDeviceSettingsDialog

    If Not ICImagingControl1.DeviceValid Then
        Unload Me
        Exit Sub
    End If

    Me.WindowState = vbMaximized

    Me.KeyPreview = True
    Me.ScaleMode = vbPixels

    ICImagingControl1.LiveDisplayDefault = False
    ICImagingControl1.LiveStart

    Timer1.Enabled = False
    Timer1.Interval = 1
End Sub

使用鼠标点击事件 (ICImagingControl1_MouseUp) 终止全屏显示。需要注意的是,在这个事件处理程序中不能使用 Unload Me,而应该使用一个 Timer 在一秒钟之后终止程序:

Private Sub ICImagingControl1_MouseUp(ByVal Button As Long, ByVal Shift As Long, ByVal XPos As Integer, ByVal YPos As Integer)
    Timer1.Enabled = True
End Sub

同样也应让用户通过点击某一个键离开全屏模式,这就需要把属性 .KeyPreview 设置为 True,同时使用下面这个函数回应 ESC key:

Private Sub Form_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyEscape Then
        Unload Me
    End If
End Sub

相关源代码示例

责任声明
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.