
| 语言: | 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的开发制造商,不对任何由于使用本文或其中源代码所产生的后果承担责任。