Szukałem na forum i na necie informacji na ten temat, niestety żadne z podanych porad nie rozwiązało mojego problemu. Żadne imagealphablending, imagecolorallocatealpha, imagesavealpha nic nie robi. Może coś źle robię?
Mam skrypt który zmniejsza zdjęcia do podanych rozmiarów. Przy przeźroczystych plikach PNG tło zamienia się na czarne. Jak zrobić żeby tło wciąż było przeźroczyste?
Oto kod:
function resize($image_file, $new_width, $new_height, $file_name, $quality){ if($info === false) return false; $img = null; switch($info[2]){ case IMAGETYPE_JPEG: $img = imagecreatefromjpeg($image_file); break; case IMAGETYPE_GIF: $img = imagecreatefromgif($image_file); break; case IMAGETYPE_PNG: $img = imagecreatefrompng($image_file); break; default: return false; } $th = imagecreatetruecolor($new_width, $new_height); imagecopyresampled($th, $img, 0, 0, 0, 0, $new_width, $new_height, $info[0], $info[1]); switch($info[2]){ case IMAGETYPE_JPEG: imagejpeg($th, $file_name.'.jpg', $quality); break; case IMAGETYPE_GIF: imagegif($th, $file_name.'.gif'); break; case IMAGETYPE_PNG: imagepng($th, $file_name.'.png'); break; } imagedestroy($th); imagedestroy($img); return true; }