Symbian3/SDK/Source/GUID-76D01385-17CD-5F9A-B3B5-88D77773AA8E.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?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 id="GUID-76D01385-17CD-5F9A-B3B5-88D77773AA8E" xml:lang="en"><title>ICLCodec:
Image Converter Library encoder/decoder plug-ins example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<section><title>Description</title> <p> <filepath>ICLCodec</filepath> demonstrates
how to implement encoder and decoder plug-ins for the Image Converter Library.
A decoder converts an image in a particular format into a <codeph>CFbsBitmap</codeph> object;
an encoder does the reverse. In the example, the Portable Network Graphics
(PNG) format is handled. </p> <p>The program is an ECom plug-in that implements: </p> <ul>
<li id="GUID-00BEBC6C-BA4A-566E-9BD3-1FABD8893EB2"><p>the decoder plug-in
interface <codeph>CImageDecoderPlugin</codeph> by the class <codeph>CPngDecoder</codeph>  </p> </li>
<li id="GUID-2A0C0279-6FF9-52CE-9FB6-240388D09D3A"><p>the decoder data reader
interface <codeph>CImageReadCodec</codeph> by the class <codeph>CPngReadCodec</codeph>  </p> </li>
<li id="GUID-278BB038-B821-5F66-9F90-3A9376E5C877"><p>the encoder plug-in
interface <codeph>CImageEncoderPlugin</codeph> by the class <codeph>CPngEncoder</codeph>  </p> </li>
<li id="GUID-69489E88-46A1-568B-BCBE-120583098AB3"><p>the encoder data writer
interface <codeph>CImageWriteCodec</codeph> by the class <codeph>CPngWriteCodec</codeph>  </p> </li>
</ul> <p>The PNG format allows data to be stored in a number of different
scanline formats (colour/grey-scale depths), so specialist classes are provided
to read and write these formats. Scanline reader classes are derived from <codeph>CPngReadSubCodec</codeph>;
writer classes from <codeph>CPngWriteSubCodec</codeph>. </p> </section>
<section id="GUID-DD75174A-EEA8-560F-A50A-AFED3C0E9824"><title>Download</title> <p>Click
on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-09d45210-89f2-4567-b9d0-6f8ed872f2d2.zip" scope="external"> ICLCodec.zip file</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-09d45210-89f2-4567-b9d0-6f8ed872f2d2.html" scope="peer">browse </xref>to view the example code. </p> </section>
<section><title>Class summary</title><p><xref href="GUID-50E4F0D6-5740-3B75-813B-4E043916AA90.dita"><apiname>CImageDecoderPlugin </apiname></xref> <xref href="GUID-2A8A815B-6661-3AC6-BB77-118F1197821D.dita"><apiname>CImageReadCodec </apiname></xref>  <xref href="GUID-2AA4DBE7-3483-3DA1-8CF0-8C165C8E6498.dita"><apiname>CImageEncoderPlugin </apiname></xref> <xref href="GUID-AAED9439-CBDE-3002-AD2E-D63F76680875.dita"><apiname> CImageWriteCodec </apiname></xref> </p></section>
</conbody></concept>