10
PHPのGDlib imagecopyresampledを使用する場合、PNG画像の透明度を維持できますか?
次のPHPコードスニペットは、GDを使用して、ブラウザにアップロードされたPNGを128x128にサイズ変更します。元の画像の透明な領域が私の場合は黒一色に置き換えられていることを除いて、それは素晴らしい働きをします。 imagesavealphaセットされているのに、何かがおかしい。 リサンプリングされた画像の透明度を維持する最良の方法は何ですか? $uploadTempFile = $myField[ 'tmp_name' ] list( $uploadWidth, $uploadHeight, $uploadType ) = getimagesize( $uploadTempFile ); $srcImage = imagecreatefrompng( $uploadTempFile ); imagesavealpha( $targetImage, true ); $targetImage = imagecreatetruecolor( 128, 128 ); imagecopyresampled( $targetImage, $srcImage, 0, 0, 0, 0, 128, 128, $uploadWidth, $uploadHeight ); imagepng( $targetImage, 'out.png', 9 );
101
php
png
transparency
gd
alpha