[php] GDを使用してpngを透過のままリサイズするコード
GDを使用してpngを透過のままリサイズするコードは以下の通り
//read the file as image $readimage = @get_image($imagefile, $image_type); //prepare output image $outputimage = @imagecreatetruecolor($resize_width, $resize_height); //resize & copy if($readimage) { //ブレンドモードを無効にする ←これで透過 imagealphablending($outputimage, false); //完全なアルファチャネル情報を保存するフラグをonにする←これで透過 imagesavealpha($outputimage, true); //$successed = imagecopyresized($outputimage, $readimage, 0, 0, 0, 0, $resize_width, $resize_height, $image_width, $image_height); $successed = imagecopyresampled($outputimage, $readimage, 0, 0, 0, 0, $resize_width, $resize_height, $image_width, $image_height); } else { $successed = FALSE; } // release data if(isset($readimage)) { imagedestroy($readimage); }