透明的PNG走向黑色

时间:2012-06-22 19:19:37

标签: php png transparent alpha

我已经浏览了很多其他线程,人们在png图像出现问题时遇到问题,应该是透明的,没有一个解决方案适用于我。

也许我在代码中的其他位置出错?也许我的网络服务器不支持imagealhpablending?

感谢任何可以提供帮助的人。

        $photo = imagecreatefrompng( "{$thumb_folder}{$new_file_name}" );
        $width = imagesx($photo);
        $height = imagesy($photo);

        $new_width = 32;
        $new_height = floor($height / ($width / $new_width)); 

        $temp_photo = imagecreatetruecolor($new_width, $new_height);

        imagealphablending($temp_photo, false);

        imagesavealpha($temp_photo, true);

        $transparent = imagecolorallocatealpha($temp_photo, 255, 255, 255, 127);

        imagefilledrectangle($temp_photo, 0, 0, $new_width, $new_height, $transparent);

        imagecopyresampled($temp_photo, $photo, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

        imagepng($temp_photo, "{$thumb_folder}{$new_file_name}" );

1 个答案:

答案 0 :(得分:0)

无论如何,分配给图像的第一种颜色始终是背景颜色,因此无需绘制该填充的矩形。从代码中删除它,看看你得到了什么。