imagepng () и прозрачность в библиотеке GD с PHP

При использовании функции imagepng() в PHP, как я могу убедиться, что сохраненные изображения сохраняются с прозрачным фоном?

Вот пример функции imagecolortransparent (если это помогает):

 <?php // Create a 55x30 image $im = imagecreatetruecolor(55, 30); $red = imagecolorallocate($im, 255, 0, 0); $black = imagecolorallocate($im, 0, 0, 0); // Make the background transparent imagecolortransparent($im, $black); // Draw a red rectangle imagefilledrectangle($im, 4, 4, 50, 25, $red); // Save the image imagepng($im, './imagecolortransparent.png'); imagedestroy($im); ?> 

Просто сделайте следующее:

 imagealphablending($img, false); imagesavealpha($img, true); 

Перед выдачей. Убедитесь, что все исходные файлы (если вы использовали их) настроены на 32-битный PNG с прозрачностью – если не может отличаться выходной сигнал с черным фоном или прозрачность не соответствует.

Вот пример

  $newimage = imagecreatetruecolor($dst_w, $dst_h); imagealphablending($newimage, false); imagesavealpha($newimage, true); $transparentindex = imagecolorallocatealpha($newimage, 255, 255, 255, 127); imagefill($newimage, 0, 0, $transparentindex); 

Существует функция, называемая imagecolortransparent, которая позволяет вам установить, какой цвет стал прозрачным. Я не знаю, отвечает ли это на ваш вопрос.