<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.imagetruecolortopalette" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>imagetruecolortopalette</refname>
  <refpurpose>Convert a true color image to a palette image</refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>bool</type><methodname>imagetruecolortopalette</methodname>
   <methodparam><type>GdImage</type><parameter>image</parameter></methodparam>
   <methodparam><type>bool</type><parameter>dither</parameter></methodparam>
   <methodparam><type>int</type><parameter>num_colors</parameter></methodparam>
  </methodsynopsis>
  <para>
   <function>imagetruecolortopalette</function> converts a truecolor image
   to a palette image. The code for this function was originally drawn from
   the Independent JPEG Group library code, which is excellent. The code
   has been modified to preserve as much alpha channel information as
   possible in the resulting palette, in addition to preserving colors as
   well as possible. This does not work as well as might be hoped. It is
   usually best to simply produce a truecolor output image instead, which
   guarantees the highest output quality.
  </para>
 </refsect1>
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    &gd.image.description;
    <varlistentry>
     <term><parameter>dither</parameter></term>
     <listitem>
      <para>
       Indicates if the image should be dithered - if it is &true; then
       dithering will be used which will result in a more speckled image but
       with better color approximation.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>num_colors</parameter></term>
     <listitem>
      <para>
       Sets the maximum number of colors that should be retained in the palette.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>
 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   &return.success;
  </para>
 </refsect1>

 <refsect1 role="changelog">
  &reftitle.changelog;
  <informaltable>
   <tgroup cols="2">
    <thead>
     <row>
      <entry>&Version;</entry>
      <entry>&Description;</entry>
     </row>
    </thead>
    <tbody>
     &gd.changelog.image-param;
    </tbody>
   </tgroup>
  </informaltable>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>Converting a true color image to a palette-based image</title>
    <programlisting role="php">
<![CDATA[
<?php
// Create a new true color image
$im = imagecreatetruecolor(100, 100);

// Convert to palette-based with no dithering and 255 colors
imagetruecolortopalette($im, false, 255);

// Save the image
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
