DCAMprop DLL

The DCAM Prop DLL that provided access to special DCAM properties in version 1.41 is no longer need, as these special properties can now be accessed and manipulated using the new VCD properties. This document describes alternatives for all functions and procedures of the DCAM Prop DLL.

IsPhysicalUnits%%%, SetPhysicalUnits%%%

If physical units are supported for the property %%%, the appropriate VCD property provides a map strings interface ( IVCDMapStringsProperty ). It might be necessary to activate physical units support for a specific device explicitly by a special driver setup. Please refer to the device documentation for details. There is a new interface called 'absolute value' ( IVCDAbsoluteValueProperty ). Like the physical units of the map strings interface, it provides meaning for the values. In addition, it provides a high resolution. Therefore, you should use the absolute values interface, if supported.

IsWhiteBalance%%%, GetWhiteBalace%%%, SetWhiteBalance%%%

Basically there are two ways to handle these functions. The first one is to use the CSimplePropertyAccess class. The usage of this class is described in the Using the VCD Simple Property Class chapter of the user's guide. The helper class offers methods, which allow to get, set or check the availability of a certain property. Every method of this helper class needs an ID that specifies the property for which the method is to be called. The IDs for "WhiteBalanceBlue" and "WhiteBalanceRed" are VCDElement_WhiteBalanceBlue and VCDElement_WhiteBalanceRed. For detailed information refer to the CSimplePropertyAccess class.

The second way is to directly use the new VCDProperties. The chapters Basic Use of VCD Properties and List VCD Properties of the user's guide show you how to use them. When using the new VCDProperties, it is important to know how they are organized. There are IVCDPropertyItems, IVCDPropertyElements and IVCDPropertyInterfaces. Each item has one or more elements and each element has one ore more interfaces. The interfaces allow the according property elements to be manipulated. In order to check, if "WhiteBalance%%%" is available, use the IVCDPropertyItems::findElement method with VCDID_WhiteBalance and VCDElement_WhiteBalance%%% as parameter. VCDID_WhiteBalance describes the property item, while VCDElement_WhiteBalance%%% describes the element "WhiteBalanceRed" or "WhiteBalanceBlue". If the property is supported, the respective element is returned. If it is not supported, 0 is returned.

To get or set the values for "WhiteBalance%%%", retrieve the appropriate interface with the IVCDPropertyItems::findInterface, IVCDPropertyElement::getInterface or IVCDPropertyElement::getInterfacePtr method. As soon as the interface is retrieved, its methods can be used to manipulate the property. For detailed information refer to IVCDPropertyInterface.

// Get supported property items.
tIVCDPropertyItemsPtr pItems = m_Grabber.getAvailableVCDProperties();
 
// Retrieve the range interface for WhiteBalanceRed.
tIVCDRangePropertyPtr pRange = 0;
if( pItems->findInterfacePtr( VCDID_WhiteBalance, VCDElement_WhiteBalanceRed, pRange ) != 0 )
{
    // Initialize the slider m_sldWhiteBalanceRed with the values of the WhiteBalanceRed property.
    m_sldWhiteBalanceRed.SetRange( pRange->getRangeMin(), pRange->getRangeMax() );
    m_sldWhiteBalanceRed.SetPos( pRange->getValue() );
    m_sldWhiteBalanceRed.EnableWindow();
}
else
{
    m_sldWhiteBalanceRed.EnableWindow( FALSE );
}

IsHorizontalFlipAvailable, GetHorizontalFlip, SetHorizontalFlip

To check whether the horizontal flip is available, use the Grabber::isFlipHAvailable property. To get or set the horizontal flip, the Grabber::getFlipH and Grabber::setFlipH methods are used.

<< Technical Articles

This site is part of The Imaging Source Network. Other sites include Company Portal, Image Processing, Astronomy Cameras, Astronomy Cameras Blog, Blog caméras d'astronomie, Astronomy Cameras Competition, TX Text Control, TX Text Control Blog and Forums.