This tutorial describes how to perform continuous digital zooming using the Ecam API.
For advanced camera settings, the continuous digital zooming API provides a greater control over continuous zoom by allowing you to specify the speed and acceleration of each continuous zoom operation. The minimum speed for zooming is zero and the minimum acceleration is a negative value (which means deceleration).
For continuous zooming, you need to provide a concrete implementation of MCameraContinuousZoom.
The following example shows you how to perform continuous digital zooming using the Ecam API:
CCamera* camera; MCameraObserver2* observer2; Camera = CCamera::New2L(*observer2, 0); CCamera::CCameraAdvancedSettings* settings = CCamera::CCameraAdvancedSettings::NewL(*camera); TUint supportedContinuousZoomType; settings->GetSupportedContinuousZoomTypeL(supportedContinuousZoomType); CCamera::CCameraAdvancedSettings::TContinuousZoomType continuousZoomType = CCamera::CCameraAdvancedSettings::EContinuousZoomMixed; MContinuousZoomObserver* continuousZoomObserver; CCamera::CCameraContinuousZoom* continuousZoom = NULL; settings->CreateContinuousZoomL(*continuousZoomObserver, continuousZoomType, continuousZoom); CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo info; continuousZoom->GetContinuousZoomSupportInfoL(info); CCamera::CCameraAdvancedSettings::TContinuousZoomParameters param; param.iContinuousZoomType = continuousZoomType; param.iContinuousZoomAcceleration = 0; param.iContinuousZoomSpeed = 1; param.iContinuousZoomLimit = 5; param.iZoomDirection = CCamera::CCameraAdvancedSettings::EZoomDirectionWide; continuousZoom->StartContinuousZoomL(param);
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.