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

這個示例程序將演示如何使用 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.