使用PHP的GDlib imagecopy重新采样时,能否保留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 );