Controlling Captured Image

This document explains you how to control captured images.

Purpose

This document provides a detailed explanation on the use of Post ImageCapture Control API.

Introduction

This classes provide necessary framework to retrieve the image data from individual images and also to apply control on the captured images individually.

Using Post ImageCapture Control

The following tasks are covered on Post ImageCapture Control implementation:

  1. Provide concrete implementation of McameraImageCapture class to create CcameraPostImageCaptureControl facade class.

  2. Create object of class CCameraPostImageCaptureControl to control each captured still image.

  3. Pass a pointer to McameraPostImageCaptureControl object to the CcameraPostImageCaptureControl object.

  4. Call McameraImageCapture:: CreatePostImageCaptureControlImpl method with UID value KECamMCameraPostImageCaptureControlUid to get the interface pointer.

    This creates a newly created interface to represent the individual image.

  5. Use KECamMCameraPostImageCaptureControlUid ID to map the individual image with the CCameraPostImageCaptureControl instance.

  6. Use CCameraPostImageCaptureControl class to control each captured still image.

Use CCameraImageProcessing::TRelativeFlipping to describe the various relative flipping of an image. The image can be flipped horizontally or vertically.

Note:

The following example code snippets illustrates the use of Post ImageCapture Control classes.

class MCameraImageCapture
{
...
...
TAny* CCamImageCapture::CreatePostImageCaptureControlImpl(TUid aInterface, TPostCaptureControlId aPostCaptureControlId)
...
}

CCamera::CCameraPostImageCaptureControl* postImageCaptureControl;

CCamPostImageCaptureControl* camPostImageCaptureControl;
static_cast<MCameraPostImageCaptureControl*>(camPostImageCaptureControl);

if(aInterface.iUid == KECamMCameraPostImageCaptureControlUidValue)
    camPostImageCaptureControl = CCamPostImageCaptureControl::NewL(const_cast<CCamImageCapture&>(*this));

//Use of CCameraPostImageCaptureControl for Image Capture
    CCamera::CCameraPostImageCaptureControl* postImgCapt = NULL;

Post ImageCapture Control implementation lets you do the following tasks:

  • retrieve the image data for individual images

  • retrieve the post image capture identity for this class object

  • retrieve the sequence number of the individual image

  • pause or resume the background processing associated with this individual image

  • retrieve information about the current state of the individual image and/or the current state of the image buffer.

  • retrieve the image buffer after notifying the availability of the individual image through associated call-backs.