This tutorial describes how to perform continuous digital zooming using the Ecam API.
Before you start you should understand the following topics:
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.