(PHP 5 >= 5.5.0, PHP 7, PHP 8)
imagepalettetotruecolor — Converts a palette based image to true color
Converts a palette based image, created by functions like imagecreate() to a true color image, like imagecreatetruecolor().
Returns true
if the convertion was complete, or if the source image already
is a true color image, otherwise false
is returned.
示例 #1 Converts any image object to true color
<?php
// Backwards compatiblity
if(!function_exists('imagepalettetotruecolor'))
{
function imagepalettetotruecolor(&$src)
{
if(imageistruecolor($src))
{
return(true);
}
$dst = imagecreatetruecolor(imagesx($src), imagesy($src));
imagecopy($dst, $src, 0, 0, 0, 0, imagesx($src), imagesy($src));
imagedestroy($src);
$src = $dst;
return(true);
}
}
// Helper closure
$typeof = function() use($im)
{
echo 'typeof($im) = ' . (imageistruecolor($im) ? 'true color' : 'palette'), PHP_EOL;
};
// Create a palette based image
$im = imagecreate(100, 100);
$typeof();
// Convert it to true color
imagepalettetotruecolor($im);
$typeof();
// Free the memory
imagedestroy($im);
?>
以上示例会输出:
typeof($im) = palette typeof($im) = true color