Description
bool 
imagetruecolortopalette ( resource image, bool dither, int ncolors )
     imagetruecolortopalette() 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.
    
     dither 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.
    
     ncolors sets the maximum number of colors that
     should be retained in the palette.
    
Note: This function requires GD 2.0.1 or later.