Небольшая функция, для поворота картинки на любой заданный угол.
Функция принимает и обрабатывает картинку любого формата, которые поддерживаются стандартными функциями 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; }