
| 語言: | Visual Basic 6 |
| 版本: | 3.0.3 |
| 发布于: | 2005年4月7日 |
| 作者: | IC Imaging Control 技術支持部 |
| 需求: | IC Imaging Control >2.1 由WDM數據流類驅動程序驅動的相機、視頻轉換器或圖像採集卡 |
| |
IC Imaging Control 提供了類 VCDSimpleProperty 用於對設備進行設置:
Private VCDProp As VCDSimpleProperty
下面的示例程序將介紹如何使用IC Imaging Control編寫一個Visual Basic程序,用以調節圖像亮度。 首先,程序檢測設備是否提供亮度自動模式。如不提供,則將對話框的複選框"Auto" (chkBrightnessAuto.Enabled = False)设為不可用狀態;如設備提供自動模式, 則將其關閉 (VCDProp.Automation(VCDID_Brightness = False):
Private Sub Form_Load() ' If no device is selected yet, show the device selection dialog If Not ICImagingControl1.DeviceValid Then ICImagingControl1.ShowDeviceSettingsDialog If Not ICImagingControl1.DeviceValid Then MsgBox "No device was selected." Unload Me Exit Sub End If End If ' Initialize the VCDProp class to access the properties of our ICImagingControl ' object Set VCDProp = GetSimplePropertyContainer(ICImagingControl1.VCDPropertyItems) ' Initialize the auto checkbox If Not VCDProp.AutoAvailable(VCDID_Brightness) Then chkBrightnessAuto.Enabled = False Else VCDProp.Automation(VCDID_Brightness) = False End If
第二步,程序檢測設備是否允許手動調整亮度參數。 如不提供,則將對話框的slider "Brightness" 設為不可用狀態 (sldBrightness.Enabled = False)。 但如果設備允許手動調節,程序將根據設備的VCDProp.RangeMin、VCDProp.RangeMax 和當前值VCDProp.RangeValue確定最小和最大值, 程序還將使用這些值初始化sldBrightness 和 lblBrightnessValue:
' Initialize the slider
If Not VCDProp.Available(VCDID_Brightness) Then
sldBrightness.Enabled = False
Else
sldBrightness.Enabled = True
sldBrightness.Min = VCDProp.RangeMin(VCDID_Brightness)
sldBrightness.Max = VCDProp.RangeMax(VCDID_Brightness)
sldBrightness.Value = VCDProp.RangeValue(VCDID_Brightness)
sldBrightness.TickFrequency = (sldBrightness.Max - sldBrightness.Min) / 10
lblBrightnessValue = sldBrightness.Value
End If
' start live mode
ICImagingControl1.LiveStart
End Sub
當用戶拖動slider (sldBrightness)時,程序將新的亮度值"Brightness"寫入 設備 (VCDProp.RangeValue(VCDID_Brightness)) 並將其顯示在窗體中 (lblBrightnessValue):
' The Slider's event handler Private Sub sldBrightness_Scroll() VCDProp.RangeValue(VCDID_Brightness) = sldBrightness.Value lblBrightnessValue = VCDProp.RangeValue(VCDID_Brightness) End Sub
如用戶點擊複選框"Auto" (chkBrightnessAuto),開啟自動模式, 程序開啟設備的自動模式(VCDProp.Automation(VCDID_Brightness) = True), 同時將 slider (sldBrightness.Enabled = False)設為不可用狀態:
' The CheckBoxes' event handlers Private Sub chkBrightnessAuto_Click() If chkBrightnessAuto.Value = 1 Then VCDProp.Automation(VCDID_Brightness) = True sldBrightness.Enabled = False Else VCDProp.Automation(VCDID_Brightness) = False sldBrightness.Enabled = True End If End Sub
有關設置其它設備屬性的過程與本示例程序類似,詳細信息請參閱 IC Imaging Control用戶手冊。

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