Функция для поворота PNG картинки на заданный угол.
Ниже приведен код с подробными комментариями:
/*
* Поворот PNG картинки на заданный угол
*
* @var string $img - картинка
* @var string $degree - угол поворота
* @var string $path - путь для сохранения картинки
*
* @return string $path - путь к новой картинке
*/
function rotatePhotoPNG($img, $degree, $path){
// загружаем картинку
$simage = imagecreatefrompng($img);
// задаем ей прозрачность
imagealphablending($simage, true);
imagesavealpha($simage, true);
// создаем прозрачный фон
$bg = imagecolorallocatealpha($simage, 0, 0, 0, 127);
// поворот на нужный угол
$rotate = imagerotate($simage, $degree, $bg);
// задаем прозрачность для повернутой картинки
imagealphablending($rotate, true);
imagesavealpha($rotate, true);
// сохраняем результат
imagepng($rotate, $path);
// очищаем память
imagedestroy($rotate);
// возвращаем путь к новой картинке
return $path;
}
