Symbian3/SDK/Source/GUID-88091838-03FC-550F-9A3D-DA70907EF955.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
parent 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?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-88091838-03FC-550F-9A3D-DA70907EF955"><title>Imaging Frameworks Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Imaging Frameworks component. </p> <section><title>Purpose</title> <p>This is a lightweight component which supports the image conversion function (that enables you to encode and decode an image), the image transformation function and the image display function. </p> </section> <section id="GUID-B7129F68-719C-5C6A-A842-E8ACA71980E4"><title>Required background</title> <p>Imaging Frameworks provides access to the Imaging Plug-ins component to facilitate some of the more common image formats. </p> <p> <b>Note:</b> The image formats listed below, are supported only for <xref href="GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4.dita"><apiname>CImageDecoder</apiname></xref> and <xref href="GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8.dita"><apiname>CImageEncoder</apiname></xref> : </p> <table id="GUID-33F74B43-9D62-54C3-8E6A-7E55C6EF6685"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Format</entry> <entry>Encode support</entry> <entry>Decode support</entry> </row> </thead> <tbody><row><entry><p>BMP (Bitmap) </p> </entry> <entry><p>1,4,8 and 24bpp formats </p> </entry> <entry><p>1,4,8,16,24,32 bpp and RLE encoded formats </p> </entry> </row> <row><entry><p>EXIF (Exchangeable Image File format) </p> </entry> <entry><p>EXIF 2.2 embedded metadata </p> </entry> <entry><p>EXIF 2.2 embedded metadata </p> </entry> </row> <row><entry><p>GIF (Graphics Interchange Format) </p> </entry> <entry><p>Single frame, no transparency ( GIF87a format ) </p> </entry> <entry><p>Single and multi frame, bitmap mask support (GIF87a format and GIF89a format) </p> </entry> </row> <row><entry><p>JPEG (Joint Photographic Experts Group) </p> </entry> <entry><p>Yes </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>MBM (Multi Bitmap) </p> </entry> <entry><p>Single frame </p> </entry> <entry><p>Single and multi frame </p> </entry> </row> <row><entry><p>MNG (Multiple Image Network Graphic) </p> </entry> <entry><p>No </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>PNG (Portable Network Graphics) </p> </entry> <entry><p>No transparency </p> </entry> <entry><p>Bitmap mask support </p> </entry> </row> <row><entry><p>SMS OTA (Over The Air) </p> </entry> <entry><p>No </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>TIFF (Tagged Image File Format) </p> </entry> <entry><p>No </p> </entry> <entry><p>LittleEndian and BigEndian sub-type support </p> </entry> </row> <row><entry><p>WBMP (Wireless Bitmap) </p> </entry> <entry><p>No </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>ICO (Icon) </p> </entry> <entry><p>No </p> </entry> <entry><p>Single and multi frame </p> </entry> </row> <row><entry><p>WMF (Windows Meta File) </p> </entry> <entry><p>No </p> </entry> <entry><p>Std, apm and clp sub-type support (all valid windows metafiles) </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural relationships</title> <p>Imaging Frameworks is a standalone image component in the Multimedia APIs and Frameworks collection. </p> </section> <section><title> Imaging Frameworks component summary</title> <p>This component includes the following functionality: </p> <ul><li id="GUID-103086A8-A32C-54D4-9DBA-5CD45E5AA3C3"><p> <b>Image Conversion </b> Provides facilities to convert single and multiframe images, stored in files or descriptors to <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> objects. The library also provides facilities to convert single frame images from <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> objects to files and descriptors. For more information about Image Conversion functionality, see <xref href="GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita#GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930/GUID-5BECDECD-C1EC-5579-BE91-8F8004CD0DC4">Image Conversion Overview</xref>. </p> </li> <li id="GUID-D64DCD73-74AA-5CF7-B054-397A2DB8DDB2"><p> <b> Image Transform </b>  <xref href="GUID-37B0C02C-F518-3ADD-8828-90FD6B3E9DE4.dita"><apiname>CImageTransform</apiname></xref> provides an interface for scaling the images which is still pictures encoded in the standard formats such as JPEG, GIF and PNG. This function works on the images stored in the files or the descriptors. For more information about Image Transform functionality, see <xref href="GUID-6914EA3D-6FAB-52DD-A159-990F4ED892A2.dita">Image Transform Overview.</xref>  </p> </li> <li id="GUID-65999978-F0F7-5E9B-9E1C-946CE71D4528"><p> <b>Image Display </b>  <xref href="GUID-6B918282-75B5-3E2F-B3E1-1955B6EBE907.dita"><apiname>CImageDisplay</apiname></xref> provides a convenient interface to convert the encoded images into <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> object that are ready to be displayed on the screen. For more information about Image Display functionality, see <xref href="GUID-27220B08-B2E7-5106-9BCC-C86938D3E37D.dita">Image Display overview</xref>. </p> </li> <li id="GUID-D2860DCB-06F2-5FDB-92B8-B38CF9363C40"><p> <b>Image Processor</b> <xref href="GUID-9E5136D1-B8BE-3CE4-9A20-39D672E31EC7.dita#GUID-9E5136D1-B8BE-3CE4-9A20-39D672E31EC7/GUID-13E30312-DD05-3581-9A59-C3569A981657"><apiname>ImageProcessor::CImgProcessor</apiname></xref> class is used to process an image and the <codeph>TEffect</codeph> classes in <xref href="GUID-9E5136D1-B8BE-3CE4-9A20-39D672E31EC7.dita"><apiname>ImageProcessor</apiname></xref> apply various effects like overlay or antique to an image. For more information about Image Processor functionality, see <xref href="GUID-0EBD074D-49E9-5E3E-9FA9-3484E968ABDB.dita">Image Processor overview</xref>. </p> </li> <li id="GUID-F7D77F74-1C97-51E0-BC82-345053497184"><p> <b> Bitmap Transform </b> Provides the rotation functionality, the mirroring functionality and the scaling transformations for <xref href="GUID-2008D827-A84A-3170-A8BD-86002BA37979.dita"><apiname>CBitmapScaler</apiname></xref> bitmaps as asynchronous operations. For more information about Bitmap Transform functionality, see <xref href="GUID-C0B39D73-0A3C-5289-A774-7BE590037404.dita">Bitmap Transform overview</xref>. </p> </li> <li id="GUID-E9B30955-D4B9-5769-97F0-8ECDCD51980C"><p> <b>Exif Client </b> This is provided in all main functions like <xref href="GUID-8F2953B2-E64E-3D8B-B30B-B35B373368D4.dita"><apiname>CImageDecoder</apiname></xref>, <xref href="GUID-737DA130-9A66-39E2-9E68-2E65F37E02C8.dita"><apiname>CImageEncoder</apiname></xref>, <xref href="GUID-37B0C02C-F518-3ADD-8828-90FD6B3E9DE4.dita"><apiname>CImageTransform</apiname></xref> and <xref href="GUID-6B918282-75B5-3E2F-B3E1-1955B6EBE907.dita"><apiname>CImageDisplay</apiname></xref> through an abstract interface. This function can be implemented and managed through an Imaging plug-in for exposing functionality to the client through the plug-in extension mechanism. For more information about Exif Client functionality, see <xref href="GUID-FCEE832C-5D8D-5177-A86A-E10015EF77DC.dita">Exif Client overview</xref>. </p> </li> <li id="GUID-6456CCD1-8208-52BA-B5FF-BC864E38078B"><p> <b>GIF Scaler Client </b> Provides the scaling and the colour quantization of bitmaps as an asynchronous operations. This is primarily used to provide bitmaps suitable for the gif encoding. And transparency information can be supplied in the form of a mask bitmap. For more information about GIF Scaler Client functionality, see <xref href="GUID-257E223F-1612-5978-982A-38DE8E08211C.dita">GIF Scaler Client overview</xref>. </p> </li> <li id="GUID-0D170A40-8036-54D6-9E1E-5AEB2CEA3755"><p> <b>JPEG Image Frame Plug-in</b> Decodes an image data to <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> object from a file or a descriptor containing JPEG data, encodes an uncompressed <xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref> object to JPEG data format within a file or descriptor and allows access to EXIF metadata. For more information about JPEG Image Frame Plug-in functionality, see <xref href="GUID-636879DE-0D1B-5CB7-9552-5F38A89B3143.dita">JPEG Image Frame Plug-in overview</xref>. </p> </li> <li id="GUID-601CCB52-FBFC-56D5-B787-87C6A48F2EEE"><p> <b>Media Client Image</b> Provides interface to set image conversion utility functions. For more information about Media Client Image functionality, see <xref href="GUID-08304A3F-4331-5936-984E-74A1F35905B8.dita">Media Client Image overview</xref>. </p> </li> <li id="GUID-F1769B11-3ACA-5CF9-8892-7705D5C2FA07"><p> <b>JPEG Exif Plug-in</b> Provides a standard for storing JPEG compressed metadata tag in the digital image file. For more information about JPEG Exif Plug-in functionality, see <xref href="GUID-49882982-0DA2-5021-BAC8-7DC77BDFD27C.dita">JPEG Exif Plug-in overview</xref>. </p> </li> </ul> </section> <section><title>Typical uses</title> <p>The Imaging Frameworks component is used for the following tasks: </p> <ul><li id="GUID-346E3708-44AB-5FE8-9D5E-AA2ABE662360"><p>Decoding an image </p> </li> <li id="GUID-49FB98DC-20E6-5383-B119-647C71D46EB9"><p>Encoding an image </p> </li> <li id="GUID-9A7EB8DF-48C5-5F18-9B19-5EE91F2233D2"><p>Transforming an image </p> </li> <li id="GUID-3B585FE6-CFAB-50D9-800B-736BDD0FEA89"><p>Displaying an image </p> </li> <li id="GUID-C39F1B6F-08AD-56A0-BBEE-88ED831FD58F"><p>Image conversion </p> </li> </ul> </section> </conbody><related-links><link href="GUID-3D9C4B45-EEA0-581C-A9E5-8B2535014930.dita"><linktext>Image Conversion Overview</linktext> </link> <link href="GUID-0EBD074D-49E9-5E3E-9FA9-3484E968ABDB.dita"><linktext>Image Processor
                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> Supported Image FormatsGuide to
                Symbian</linktext> </link> </related-links></concept>