imagecreatetruecolor
当我传递由to生成的黑色图像背景时imagecopyresampled
,它作为参数 1 给出的错误imagecopyresampled
预计是资源,但给出了一个整数。
这gif
仅适用于图像。此外,我正在使用imagecolortransparent
gif,以便动画不会显示为具有黑色背景的静态,但它也会在传递给时imagecopyresampled
给出相同的错误。
没有imagecolortransparent
:
function resizeImageGIF($image,$width,$height,$scale) {
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
$source = imagecreatefromgif($image);
imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
imagegif($newImage,$image);
chmod($image, 0777);
return $image;
}
上面生成了一个黑色背景的静态 gif,并给出了参数 1 中给出的整数的相同 PHP 错误
与imagecolortransparent
:
function resizeImageGIF($image,$width,$height,$scale) {
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
$black=imagecolorallocate($newImage,0,0,0);
$newImageTransparent = imagecolortransparent($newImage,$black);
$source = imagecreatefromgif($image);
imagecopyresampled($newImageTransparent,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
imagegif($newImageTransparent,$image);
chmod($image, 0777);
return $image;
}
这个生成了一个动画 gif,但仍然存在上述错误,并且也不会缩放图像,因为结果图像会从固定宽度的容器中弹出。