画像をアップロードする際にPHPで
・縮小
・トリミング
の2段階で行うと透明部分が真っ黒になってしまいます。
下記がこのソースなのですが、どこが悪いか分かる方いらっしゃいますでしょうか?
$image_resource = imagecreatefrompng($outPathTrimming); $width_resource = ImageSx($image_resource); $height_resource = ImageSy($image_resource); $width_trimming = ImageSx($image_resource) * $scale/100; $height_trimming = ImageSy($image_resource) * $scale/100; $width_output = 200; $height_output = 200; $image_trimming = ImageCreateTrueColor($width_trimming,$height_trimming); $image_output = ImageCreateTrueColor($width_output,$height_output); //ブレンドモードを無効にする imagealphablending($image_trimming, false); imagealphablending($image_output, false); //完全なアルファチャネル情報を保存するフラグをonにする imagesavealpha($image_trimming, true); imagesavealpha($image_output, true); //縮小イメージ作成 ImageCopyResampled($image_trimming, $image_resource,0,0,0,0, $width_trimming,$height_trimming,$width_resource,$height_resource); //トリミングイメージ作成 ImageCopyResampled($image_output, $image_trimming,0,0,($width_trimming - $width_output)/2,($height_trimming - $height_output)/2, $width_output,$height_output,$width_output,$height_output); //出力 imagepng($image_output, $outPath);

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。