Поворот PNG изображения с сохранением прозрачности

Рецепт №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);
Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*