phpのバージョンはPHP4(4.4.8)となります。
透過pngファイルをリサイズすると透明部分が黒くなってしまいます。
以下は現在のファイルです。
<?php
$file = "./p1.png";
$aaa = imagecreatefrompng($file);
$bbb = imagecreatetruecolor(100, 100);
imagecopyresized($bbb, $aaa, 0, 0, 0, 0,
100, 100,
500, 500);
mb_http_output("pass");
imagepng($bbb,"./resize.png",100);
?>
追加する関数などあれば教えてください。
透過色で塗りつぶす必要があったようです。
私が透過PNGをリサイズしたときのソースです。
引数をFIXしましたが、必要に応じて変更してみてください。
$bbb = imagecreatetruecolor($new_width, $new_height);
imagealphablending($bbb, false);
imageSaveAlpha($bbb, true);
$fillcolor = imagecolorallocatealpha($bbb, 0, 0, 0, 127);
imagefill($bbb, 0, 0, $fillcolor);
imagecopyresampled($bbb, $aaa, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
ご丁寧にありがとうございました。
教えていただいたプログラムで無事解決です。
また機会があればお願いいたします。
早速のご回答ありがとうございます。
$bbb = imagecreatetruecolor(100, 100);
の下に1行追加しました。
imagealphablending($bbb, true);
上記だけだと「透明部分は黒のまま」でした。
「true」を「false」にすると「黒ではなく白」になりました。
何か足りていないのでしょうか?