我已经浏览了很多其他线程,人们在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}" );
答案 0 :(得分:0)
无论如何,分配给图像的第一种颜色始终是背景颜色,因此无需绘制该填充的矩形。从代码中删除它,看看你得到了什么。