Рецепт №93. Из книги «128 рецептов php»
Перейти к оглавлению
Поворот png изображения, которое имеет прозрачность, немного сложней поворота обычной картинки. Необходимо при повороте, задать прозрачный фон, который создается с помощью функции imagecolorallocatealpha. А также после самого поворота нужно задать прозрачность для повернутого изображения.
Пример:
// картинка
$source = "test.png";
// угол, на который будет осуществлен поворот
$degree = 45;
// Загрузка изображения
$img = imagecreatefrompng($source);
// создаем прозрачный фон
$bg = imagecolorallocatealpha($img, 0, 0, 0, 127);
// поворот на нужный угол
$rotate_img = imagerotate($img, $degree, $bg);
// задаем прозрачность для повернутой картинки
imagesavealpha($rotate_img, true);
// заголовок для браузера
header("Content-Type: image/png");
// выводим результат в браузер
imagepng($rotate_img);
// очищаем память
imagedestroy($img);
imagedestroy($rotate_img);

Дружище, спасибо, помог очень!!!