Поворот картинки на заданный угол

Небольшая функция, для поворота картинки на любой заданный угол.
Функция принимает и обрабатывает картинку любого формата, которые поддерживаются стандартными функциями php.
Тут все понятно, поэтому просто приведу код с подробными комментариями:

/*
* Поворот картинки на заданный угол
*
* $img - путь к картинке
* $degree - угол поворота
* $path - путь для сохранения картинки
* $formatImg - расширение картинки, для сохранения.
*/
function rotatePhoto($img, $degree, $path, $formatImg = 'jpeg'){
	// получаем данные о картинке
	$size = getimagesize($img);
	//определяем тип (расширение) картинки
	$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
	$icfunc = "imagecreatefrom" . $format;   //определение функции для расшерения файла
	//если нет такой функции, то прекращаем работу скрипта
	if (!function_exists($icfunc)) return false;		
	// Загрузка изображения
	$source = $icfunc($img);
	// Поворот. Пустые углы заливаем цветом 0xffffff
	$rotate = imagerotate($source, $degree, '0xffffff');
	// сохраняем картинку
	$func = 'image'.$formatImg;
	$func($rotate, $path, 100);
	// очищаем пямять
	imagedestroy($rotate);
	// возвращаем путь к новой картинке
	return $path;
}
Рассказать друзьям:


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

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

*