<?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-6914EA3D-6FAB-52DD-A159-990F4ED892A2"><title> Image Transform Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to the Image Transform (scaling) functionality. </p> <section><title>Purpose</title> <p>The <xref href="GUID-37B0C02C-F518-3ADD-8828-90FD6B3E9DE4.dita"><apiname>CImageTransform</apiname></xref> provides function to scale the still image held in a file or descriptor. </p> <p><b>Image Transform Library Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-5B289F3C-AB05-5AD8-B851-E19E03129419"><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>imagetransform.dll</filepath> </p> </entry> <entry><p> <filepath>imagetransform.lib</filepath> </p> </entry> <entry><p>These files are used for implementing image transform operation. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>Image Transform function plays an important role for transforming the still image. </p> <p>Furthermore, the <xref href="GUID-37B0C02C-F518-3ADD-8828-90FD6B3E9DE4.dita"><apiname>CImageTransform</apiname></xref> extension interface incorporates a function <xref href="GUID-8652E897-DD50-3976-A5A2-2150DA2D7A79.dita"><apiname>ExifMetadata</apiname></xref> to access the Exif metadata. For more details see <xref href="GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E.dita#GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E/GUID-A0B37BD4-05E2-58DA-8D25-F1E4A116AE79">Exif support in CimageTransform</xref> </p> </section> <section><title>Description</title> <p>Image Transform function works in parallel to <xref href="GUID-2008D827-A84A-3170-A8BD-86002BA37979.dita"><apiname>CBitmapScaler</apiname></xref>, the difference being that the <xref href="GUID-2008D827-A84A-3170-A8BD-86002BA37979.dita"><apiname>CBitmapScaler</apiname></xref> works on internal bitmap objects (<xref href="GUID-683A1D42-2764-3EB7-BD19-9E12559199AB.dita"><apiname>CFbsBitmap</apiname></xref>), whereas <xref href="GUID-37B0C02C-F518-3ADD-8828-90FD6B3E9DE4.dita"><apiname>CImageTransform</apiname></xref> works on images stored in files and descriptors. Furthermore, the size of the destination image needs to be specified bearing in mind that the aspect ratio of the source image needs to be preserved. </p> </section> <section><title>Key Image Transform Classes</title> <p>The key classe is: </p> <ul><li id="GUID-D4B6201A-64C9-56AA-8897-B3C34CBCA9AF"><p> <xref href="GUID-37B0C02C-F518-3ADD-8828-90FD6B3E9DE4.dita"><apiname>CImageTransform</apiname></xref> provides the client interface to the functionality of the ImageTransform dll. This class is a single unit which can be used easily and can be instantiated without specifying any information about the source or destination images. It is free to implement a scale algorithm but not free to implement decoding or encoding process. </p> </li> </ul> </section> <section><title>Using Image Transform</title> <p>The Image Transform functionality is used for the following: </p> <ul><li id="GUID-9F99867D-0479-5F50-ABA1-97DB460ACCCC"><p>To scale only a subset of the original image which is provided by setting a clipping rectangle. This acts as if the source image outside the region does not exist causing the clipped image to be resized to the size specified. </p> </li> <li id="GUID-E1081D71-78D9-5C95-8E9B-6B6495DA8D31"><p>This function has an extension interface to incorporates a function <xref href="GUID-8652E897-DD50-3976-A5A2-2150DA2D7A79.dita"><apiname>ExifMetadata</apiname></xref> to access the Exif metadata. For more details see <xref href="GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E.dita#GUID-1FC88405-616F-5ED1-A136-9FE1E9226F0E/GUID-A0B37BD4-05E2-58DA-8D25-F1E4A116AE79">Exif support in CimageTransform</xref>. </p> </li> <li id="GUID-CBE0E94C-4581-53A4-A9D7-382B0995E109"><p>This function supports standard extensions for advanced JPEG functions. For more details see <xref href="GUID-8E794D5A-9C83-54EB-AD5A-6A74BB155223.dita">JPEG Image Transform Extension Guide</xref>. </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 Library 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>