IC Service Pack 3 for Visual Studio 2008 C++
Posted by Stefan Geißler on June 9, 2008
I am delighted to announce that we have just released IC Imaging Control 3.0.6 Class Library Service Pack 3 for Visual Studio™ 2008 C++.
The service pack contains following updates:
- DLL, library and header files
- Dynamic help and Keyword help integration in Visual Studio™ 2008
- Class Library C++ Dialog application and Frame Filter wizards
Download and install the service pack today!
Exposure Absolute Values
Posted by Stefan Geißler on March 31, 2008
Very often, I am asked how to access the Absolute Values interface of the exposure time. Although this seems to be complicated at first glace, it is not:
The interface is accessed in the following three steps:
- Declare the necessary variables for the interfaces.
- Query the interfaces.
- Work with the queried interfaces.
Declare the variables for the interfaces
We need a variable for the interface to toggle automatic exposure and a variable for the exposure values interface.
VB:
Dim AbsoluteValues As ICImagingControl3.VCDAbsoluteValueProperty Dim ExposureAuto As ICImagingControl3.VCDSwitchProperty
C#:
using TIS.Imaging; ICImagingControl3.VCDAbsoluteValueProperty AbsoluteValues; ICImagingControl3.VCDSwitchProperty ExposureAuto;
Query the interfaces
This step is quite simple. The only thing you have to do is gather the required information:
VB:
AbsoluteValues = IcImagingControl1.VCDPropertyItems.FindInterface( VCDIDs.VCDID_Exposure + ":" + _ VCDIDs.VCDElement_Value + ":" + _ VCDIDs.VCDInterface_AbsoluteValue) ExposureAuto = IcImagingControl1.VCDPropertyItems.FindInterface( VCDIDs.VCDID_Exposure + ":" + _ VCDIDs.VCDElement_Auto + ":" + _ VCDIDs.VCDInterface_Switch)
C#:
AbsoluteValues = (ICImagingControl3.VCDAbsoluteValueProperty)icImagingControl1.VCDPropertyItems.FindInterface( VCDIDs.VCDID_Exposure + ":" + VCDIDs.VCDElement_Value + ":" + VCDIDs.VCDInterface_AbsoluteValue); ExposureAuto = (ICImagingControl3.VCDSwitchProperty) icImagingControl1.VCDPropertyItems.FindInterface( VCDIDs.VCDID_Exposure + ":" + VCDIDs.VCDElement_Auto + ":" + VCDIDs.VCDInterface_Switch);
Work with the queried interfaces
Now we can check, whether the interfaces exist and query their values.
VB:
'Disable automatic
If Not ExposureAuto Is Nothing Then
ExposureAuto.Switch = false
End If
If Not AbsoluteValues Is Nothing Then
Dim ExposureMin As Double
Dim ExposureMax As Double
Dim ExposureValue As Double
' Query the currently set values:
ExposureMax = AbsoluteValues.RangeMax
ExposureMin = AbsoluteValues.RangeMin
ExposureValue = AbsoluteValues.Value
'Set a new exposure value
AbsoluteValues.Value = 0.002
End if
C#:
// If ExposureAuto exposure exists ... if (ExposureAuto != null) { //... make sure, it is disabled. ExposureAuto.Switch = false; } // If the absolute values interface exists... if (AbsoluteValues != null) { double ExpMin, ExpMax, ExpCurrent; // ... query the currenty values: ExpMin = AbsoluteValues.RangeMin; ExpMax = AbsoluteValues.RangeMax; ExpCurrent = AbsoluteValues.Value; //.. set a new value AbsoluteValues.Value = 0.001; }
Please keep in mind that not all cameras and video capture devices support the Absolute Values interface.
USB Camera Driver Updated
Posted by Stefan Geißler on December 13, 2007
The new driver version 1.0.0.15 is now available at http://www.theimagingsource.com.
Following Windows® versions are supported:
- XP SP2
- XP 64bit
- Vista® 32bit
- Vista® 64bit
The Windows® standard USB video driver can be used for the DFK 21AU04 and DFK 21BU04 cameras. But this driver does not offer the full range of available camera properties.
The monochrome and the higher resolution cameras such as DFK 31AU03 or DMK 21BU04 need the TIS WDM driver. The Windows® standard USB video driver simply shows a "Code 10, device can not start" error for them in the Device Manager.
All WDM drivers for The Imaging Source video capture devices (converters, grabbers, DCam cameras and USB cameras) support Windows Vista® 32 and 64 bit.
Visual Studio® 2008 is available
Posted by Stefan Geißler on December 11, 2007
The new Visual Studio® 2008 is now available. We have tested the compatibility of IC Imaging Control Classlibrary and .NET component with Visual Studio® 2008.
The current version of IC Imaging Control 3.0.5 Classlibrary is incompatible to Visual Studio® 2008.
IC Imaging Control .NET 3.0.5 component works fine in Visual Studio® 2008 in Windows XP®, but not in Visual Studio® 2008 in Windows Vista®.The IC .NET component 3.0.5 runs fine in Visual Studio® 2005 in Windows Vista®.
The next version of IC Imaging Control that is fully compatible to Visual Studio® 2008 in Windows XP® and Windows Vista® is already in the pipeline. We hope it will be finished soon.
How to Display the Property Pages of a Camera
Posted by Stefan Geißler on October 2, 2007
Users of IC Imaging Control Professional often inquire how to show the property dialog box that ships with the driver of their video capture device. Typically, this dialog box allows access to certain special properties that are not accessible through IC Imaging Control. The IC Imaging Control Grabber object exports an IUnknown COM pointer that can be used to access the driver's dialog box.
The following C++ code shows the driver's dialog box.
smart_com<IUnknown> pksps = 0; m_cGrabber.getDev().getInternalInterface( pksps ); if( pksps != NULL ) { HRESULT hr; smart_com<ISpecifyPropertyPages> pSpec; hr = pksps->QueryInterface(IID_ISpecifyPropertyPages, (void **)&pSpec.get()); if (hr == S_OK) { CAUUID cauuid; hr = pSpec->GetPages(&cauuid); if( SUCCEEDED( hr ) && cauuid.cElems > 0 && cauuid.pElems != 0 ) { hr = OleCreatePropertyFrame( this->m_hWnd, 30, 30, 0, 1, &pksps.getImpl(), cauuid.cElems, (GUID *)cauuid.pElems, 0, 0, 0); CoTaskMemFree(cauuid.pElems); } } }
Service Pack 2 for IC Imaging Control released
Posted by Stefan Geißler on September 19, 2007
Service Pack 2 for IC Imaging Control installs the IC application wizards for Visual Studio 2005. The wizards allow you to create new imaging applications within a few mouse clicks. The following languages are supported:
- C++
- C#
- Visual Basic
Please download and install the service pack as soon as possible.
New Sample for Finding a Laser Point
Posted by Stefan Geißler on July 31, 2007
We have just released a brief sample application that illustrates how to locate a laser point on a live video and return its coordinates.
Changing the Mouse Cursor
Posted by Stefan Geißler on July 5, 2007
Changing the mouse cursor in IC Imaging Control is a task that has caused problems for several of our customers. Indeed, it is an issue that regularly comes to my attention in the support department.
In order to resolve some of the confusion that shrouds this relatively simple task, I have created a C# and VB.NET sample application. With the help of one DLL, changing the mouse cursor in IC Imaging Control was never easier!
This new sample application is documented in detail in the Source Code Library:
Iterating Through a Captured Image Sequence
Posted by Stefan Geißler on July 2, 2007
I have just published a new sample application that illustrates how the last two seconds leading up to an unknown event can be captured to an image sequence. After this event has occurred, the end-user can iterate manually or automatically through the captured images.
The following animated screenshot shows how to use a slider to iterate through the previously captured image sequence:

This new sample application is documented in detail in the Source Code Library:
Service Pack 1 for IC Imaging Control 3.0 Released
Posted by Stefan Geißler on June 22, 2007
We have recently released the first service pack for IC Imaging Control 3.0.4, which fixes the following minor issues:
- If a frame filter chain is used with Visual Studio® C++ 6.0, an application crashes with a CRTIsValidHeapPointer() error, if more than one filter is used. The affected function is:
Only Visual Studio® C++ 6.0 is affected by this issue.DShowLib::tFrameFilterList CFilterChain; CFilterChain.push_back( DeBayerFilter.get() ); CFilterChain.push_back( RoiFilter.get() ); // Here the crash occures.
- If in Windows Vista™, a DV device such as a DV camcorder is used, stopping the live video may lead to an application crash, while the same software runs fine in Windows XP™ and Windows 2000™.
Please download and install the service pack, if you are being affected by these issues.


