によって生成された黒い画像の背景をimagecreatetruecolor
に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を生成しますが、それでも上記のエラーが発生し、固定幅のコンテナから画像が飛び出すため、画像を拡大縮小しません。