Symbian3/SDK/Source/GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     6
<!-- Initial Contributors:
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     7
    Nokia Corporation - initial contribution.
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     8
Contributors: 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     9
-->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    10
<!DOCTYPE concept
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    12
<concept xml:lang="en" id="GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930"><title>Image Conversion Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Image Conversion functionality. </p> <section id="GUID-5BECDECD-C1EC-5579-BE91-8F8004CD0DC4"><title>Purpose</title> <p>Image Conversion functionality supports many features like encoding, decoding, scaling, rotating, producing mirror image, flipping and cropping images. </p> <p><b>Image Conversion Library Details</b> </p> <p>To use Image Conversion, you must obtain necessary binaries in the form of DLL file to implement the image encoding and the image decoding functions. </p> <table id="GUID-0F5A5EF5-1839-5A5A-9DCC-3A58CB33A62F"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>imageconversion.dll</filepath>  </p> </entry> <entry><p> <filepath>imageconversion.lib</filepath>  </p> </entry> <entry><p>These files are used for implementing image conversion operation. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>Image Conversion is primarily used for Image Encoding and Image Decoding. The following diagram shows how the Image Encoding and the Image Decoding interacts with other components. </p> <fig id="GUID-D7706AA7-F1A9-5D87-B9D6-760FB7D7E906"><title>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    13
             Image Conversion system diagram 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    14
          </title> <image href="GUID-41A70DFD-BADF-5B8F-8085-488F34F81561_d0e300969_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>The Image conversion provides several features to enable the conversion and basic manipulation of images. Conversions can be made from images stored in files or descriptors to <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> objects, or from <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> and <xref href="GUID-27B63129-ABD9-3B6C-882B-6F4501AF8E15.dita"><apiname>CFrameImageData</apiname></xref> objects to files or descriptors. Features of the image conversion function include: </p> <ul><li id="GUID-EA49D943-5B10-56C0-9AE3-5F73283CEB8E"><p>Standard decoders that can decode single or multiframe images, images with bitmasks, images with in-image or in-frame comments. </p> </li> <li id="GUID-80C4DB9F-6273-5656-8A6A-221528128D9C"><p>Support for progressive decoding. </p> </li> <li id="GUID-033F1133-1DFA-5460-9FE8-E95DB53CF38C"><p>Functions to decode images stored in files or descriptors. </p> </li> <li id="GUID-D99568AB-50DB-5B49-892E-A83FD4F4FABC"><p>Standard encoder that can encode single frame images and images with in image comments. </p> </li> <li id="GUID-85F702CC-60C0-5913-890C-08F8F6CAEFF2"><p>Functions to manipulate image properties such as scale, rotation, dithering and progressive decoding. </p> </li> <li id="GUID-94FF0822-C220-5D0C-AF65-16D2A09E7072"><p>Advanced thread control for encoder and decoders. </p> </li> </ul> </section> <section><title>Key Image Conversion Classes</title> <p>The key classes are </p> <dl><dlentry><dt>Image Encoding</dt> <dd><p>Image encoding is the process of taking a bitmap stored in a <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref>, converting it to a specified format and writing the output to a file or descriptor. Typical sources of bitmap data are cameras and paint applications. The <xref href="GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8.dita"><apiname>CImageEncoder</apiname></xref> object is created specifying the source image and encoder plugin as parameters. The <xref href="GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8.dita#GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8/GUID-E1CADEBF-E502-3F7E-85D1-C6AA63E497FE"><apiname>CImageEncoder::Convert()</apiname></xref> function then encodes the image using the methods provided by the plugin. The results of the conversion are then saved to a file or descriptor. </p> </dd> </dlentry> <dlentry><dt>Image Decoding</dt> <dd><p>Image decoding is the process of taking an image stored in a file or descriptor, converting it from a specified format and writing the output to a <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref>. The <xref href="GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4.dita"><apiname>CImageDecoder</apiname></xref> object is created specifying the source image and decoder plugin as parameters. The <xref href="GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4.dita#GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4/GUID-8118AC37-471E-3CB6-9F71-4E93507DDE57"><apiname>CImageDecoder::Convert()</apiname></xref> function then decodes the image using the methods provided by the plugin. The results of the conversion are then saved to a <codeph>CFbsBitmap</codeph>. </p> </dd> </dlentry> <dlentry><dt>Image Processor</dt> <dd><p>Image Processor is an interface to process the decoded image using the <xref href="GUID-E57B96D4-87E2-3BD7-ADA1-B9448A6DFFF6.dita"><apiname>CImageProcessor</apiname></xref> class. </p> </dd> </dlentry> </dl> </section> <section><title>Using Image Conversion</title> <p>The Image Conversion functionality is used for the following: </p> <ul><li id="GUID-1A5A0DC1-EA29-535C-A5BB-5D8EF0F24A5C"><p>Rotate, crop, mirror and flip an image frame during decode operation. </p> </li> <li id="GUID-0F53E15D-1D95-587E-8B4B-2B7E6CBEF2BF"><p>Scaling with reduction factor of an image during decode operation. </p> </li> <li id="GUID-55A5A2CD-ED87-56E7-8A36-8F783454184C"><p>Decode an image by requesting pixel data block by block. </p> </li> <li id="GUID-84E17F61-98DF-5782-8DFF-EE946F61E8DF"><p>Decode an image from a descriptor or a file. </p> </li> <li id="GUID-67885D9D-BA8C-53A4-B5E5-6B57B0ED00A8"><p>Decode an image using a mask for the image with transparency. </p> </li> <li id="GUID-10DF77DC-D6B5-54E7-A8B1-728DA0970558"><p>Decode an image using separate thread. </p> </li> <li id="GUID-A4FA39C1-2965-582D-B9EC-E2FB57646274"><p>Decode a JPEG image thumbnail. </p> </li> <li id="GUID-7D98BCC3-18EF-5EF3-8B1A-99AE0DB2F809"><p>Decode a GIF multi-frame image. </p> </li> <li id="GUID-3710C58E-45F1-5FFC-8DAA-28B5FD4A2A76"><p>Decode an image that supports YUV format into an image frame. </p> </li> <li id="GUID-F25602E2-9EA2-5C08-A445-11911DC1C47F"><p>Turning OFF and ON dithering during decode operation of the image. </p> </li> <li id="GUID-43824E57-1608-5798-BE2B-A28EE0C1670E"><p>Encode a bitmap or an image frame into a descriptor or a file. </p> </li> <li id="GUID-F56A325A-3272-5E0A-99A1-60D29E5EBE50"><p>Encode an image frame by passing pixel data block by block. </p> </li> <li id="GUID-8C57D275-981D-5D70-8D60-3F7FD5DCE2F7"><p>Rotate, mirror and flip an image during encode functionality. </p> </li> <li id="GUID-6D5ACBD5-2471-50BF-AAB5-B71D98F9DF39"><p>Rotate a bitmap image. </p> </li> <li id="GUID-2CE27CA7-4D48-5E04-B307-B5C934918AAE"><p>Scaling a bitmap image with or without a mask. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-88091838-03FC-550F-9A3D-DA70907EF955.dita"><linktext>Imaging Frameworks Overview</linktext> </link> <link href="GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita"><linktext>Image Conversion Overview</linktext> </link> <link href="GUID-6DC34798-86CE-537D-B3B8-9A94FF77B283.dita"><linktext>Image Encoding Tutorial</linktext> </link> <link href="GUID-B10B048F-37FF-53E7-92B9-83F8C197566A.dita"><linktext>Image Decoding Tutorial</linktext> </link> <link href="GUID-A825B62E-B5F6-5FDD-B267-E47103D57FD8.dita"><linktext>Guide to Symbian supplied Codecs</linktext> </link> </related-links></concept>