Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-3C3BBE1F-D7A2-5021-830B-78084334C883"><title>Controlling Captured Image</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document explains you how to control captured images. </p> <section><title>Purpose</title> <p>This document provides a detailed explanation on the use of <b>Post ImageCapture Control </b> API. </p> <p><b>Introduction</b> </p> <p>This classes provide necessary framework to retrieve the image data from individual images and also to apply control on the captured images individually. </p> </section> <section><title>Using Post ImageCapture Control </title> <p>The following tasks are covered on Post ImageCapture Control implementation: </p> <ol id="GUID-6EEFB87A-E8FF-5EC9-96EB-9F3CE37B87A6"><li id="GUID-7A4FA862-EA26-5D02-8C12-2E1D700AC5A1"><p>Provide concrete implementation of <xref href="GUID-65D8585F-4841-3AF4-9A9D-5EAB188C6754.dita"><apiname>McameraImageCapture</apiname></xref> class to create <xref href="GUID-3ECFEF01-EC6F-35E4-A544-39A345E3D8F2.dita"><apiname>CcameraPostImageCaptureControl</apiname></xref> facade class. </p> </li> <li id="GUID-53BFDBDA-BD18-5E69-AA8D-4A33269668E7"><p>Create object of class <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> to control each captured still image. </p> </li> <li id="GUID-3AEF9A47-6FEA-5911-87B0-84C2D58C3569"><p>Pass a pointer to <xref href="GUID-ED5F1027-BD98-3DEA-BF1B-0EB1A17B6F43.dita"><apiname>McameraPostImageCaptureControl</apiname></xref> object to the <xref href="GUID-3ECFEF01-EC6F-35E4-A544-39A345E3D8F2.dita"><apiname>CcameraPostImageCaptureControl</apiname></xref> object. </p> </li> <li id="GUID-53EBC94E-A630-5EF0-BAAF-70F2F5BCD49A"><p>Call <xref href="GUID-65D8585F-4841-3AF4-9A9D-5EAB188C6754.dita#GUID-65D8585F-4841-3AF4-9A9D-5EAB188C6754/GUID-065F8E55-564B-33BE-BE9D-C629553AB133"><apiname>McameraImageCapture::
CreatePostImageCaptureControlImpl</apiname></xref> method with UID value <xref href="GUID-6EBFCB30-8CDE-3E3F-A552-BC722F4F5B93.dita"><apiname>KECamMCameraPostImageCaptureControlUid</apiname></xref> to get the interface pointer. </p> <p>This creates a newly created interface to represent the individual image. </p> </li> <li id="GUID-D712DE6E-7FB2-56FE-A8D3-1FD66A48471C"><p>Use <xref href="GUID-6EBFCB30-8CDE-3E3F-A552-BC722F4F5B93.dita"><apiname>KECamMCameraPostImageCaptureControlUid</apiname></xref> ID to map the individual image with the <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> instance. </p> </li> <li id="GUID-D61383B7-DFAE-54C0-AA89-CFA93684C50E"><p>Use <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> class to control each captured still image. </p> </li> </ol> <p>Use <xref href="GUID-2D94F0AD-10D4-3C3E-B445-3728718C8765.dita#GUID-2D94F0AD-10D4-3C3E-B445-3728718C8765/GUID-7735D08D-6514-3D39-B5D4-08D735BADC9A"><apiname>CCameraImageProcessing::TRelativeFlipping</apiname></xref> to describe the various relative flipping of an image. The image can be flipped horizontally or vertically. </p> <p>Note: </p> <ul><li id="GUID-62442474-2A4A-5D86-963E-371CEF544815"><p> <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> objects will become unavailable if a new image capture request is issued, while the previous request is still not completed. </p> </li> <li id="GUID-009888BE-88FA-5DF9-A03F-868C84BDF18F"><p>Make sure you destroy <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> object when individual image cancellation is completed and/or individual image is saved. </p> </li> </ul> <p>The following example code snippets illustrates the use of <b>Post ImageCapture Control </b> classes. </p> <codeblock id="GUID-56F70751-E2CA-5EFC-B109-11E26180FC8B" xml:space="preserve">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;</codeblock> <p>Post ImageCapture Control implementation lets you do the following tasks: </p> <ul><li id="GUID-0A6C9D31-6515-5325-B44E-46D8950910AF"><p>retrieve the image data for individual images </p> </li> <li id="GUID-24D3C749-70A4-50E3-8E5D-A556EDC48518"><p>retrieve the post image capture identity for this class object </p> </li> <li id="GUID-23A14BED-AA67-56C1-A237-6B14B6642F27"><p>retrieve the sequence number of the individual image </p> </li> <li id="GUID-30A0DAB3-6018-5A1B-A946-C85306848B23"><p>pause or resume the background processing associated with this individual image </p> </li> <li id="GUID-37D5B6B2-B1A1-5B0A-A5E4-76C3885A999D"><p>retrieve information about the current state of the individual image and/or the current state of the image buffer. </p> </li> <li id="GUID-B6427AFE-2D9D-5E4A-8123-22C0E214BA8E"><p>retrieve the image buffer after notifying the availability of the individual image through associated call-backs. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-6C8507F7-FE70-5654-91B5-53E356CFF67C.dita"> Controlling Pre-Image Capture</xref> </p> <p><xref href="GUID-BFDDCE4E-FE4F-5815-9D0B-A0967EA53B11.dita">Controlling Still-image Capture</xref> </p> </section> </conbody></concept>