如何用GD做到这一点?
答案 0 :(得分:7)
Create a new truecolor image resource(t)将same dimensions作为源图像,然后copy(s)到(t)。
e.g。 (没有错误处理):
$imgSource = imagecreatefromgif('xyz.gif');
$width = imagesx($imgSource);
$height = imagesy($imgSource);
$imgTC = imagecreatetruecolor($width, $height);
imagecopy($imgTC, $imgSource, 0, 0, 0, 0, $width, $height);
// save or send $imgTC
您将在内存中以gd2格式显示这两个图像(每个像素4个字节?5?),因此在尝试使用较大的图像之前,最好先检查memory_limit设置。
答案 1 :(得分:2)
从PHP 5.5开始,这是一个快速,简单且内存不足的解决方案:只需使用imagepalettetotruecolor
PHP函数:
$imgSource = imagecreatefromgif('xyz.gif');
if (!imageistruecolor($imgSource)) {
imagepalettetotruecolor($imgSource);
}
答案 2 :(得分:1)
您只需使用imagecreatetruecolor创建新图片,然后imagecopy将基于调色板的图像添加到其中。