###前提・実現したいこと
POSTで受け取った画像の拡張子を「jpeg」に変換したいです。
リサイズする関数の中で、同時にJPEG変換を行おうと思っております。
###発生している問題・エラーメッセージ
case文の中で、jpeg,png,gifの情報を取れるようにしていて、それを最終的に imagejpeg($canvas, $srcPath); でJPEG変換をしているつもりですが、うまく行きません。。
###該当のソースコード
function transform_image_size($srcPath, $width, $height) { list($originalWidth, $originalHeight, $type) = getimagesize($srcPath); switch ($type) { case IMAGETYPE_JPEG: $source = imagecreatefromjpeg($srcPath); break; case IMAGETYPE_PNG: $source = imagecreatefrompng($srcPath); break; case IMAGETYPE_GIF: $source = imagecreatefromgif($srcPath); break; default: throw new RuntimeException("サポートしていない画像形式です: $type"); } $canvas = imagecreatetruecolor($width, $height); imagecopyresampled($canvas, $source, 0, 0, 0, 0, $width, $height, $originalWidth, $originalHeight); // header('Content-type: image/jpeg'); imagejpeg($canvas, $srcPath); imagedestroy($source); imagedestroy($canvas); }
###補足情報(言語/FW/ツール等のバージョンなど)
JPEG変換以外はすべてうまくいっております。
よろしくお願いいたします。
「JPEG変換をしているつもりですが、うまく行きません。。」実際どのような現象になっているのでしょうか。実際起きている現象もそうですし、PHPであればPHPのバージョンなど実行している環境の情報(また何かエラーが出ていないかなど)の提示は回答につながるヒントとして必要です。 https://teratail.com/help/question-tips#questionTips3-4
また、「拡張子を「jpeg」に変換したい」”だけ”であればcopyなりrenameで良い気もするのですが、あえてGDを利用しているのは「どのようにしたい」という具体的な理由があるとお見受けします(変なことを聞いていたらすみません)
回答1件
あなたの回答
tips
プレビュー