Bueno .. (más vale tarde que nunca xD) .. No sé si habras resuelto tu problema .. pero ..
El error principal que tienes con ese código de ejemplo .. es que ese código está más bien pensado para que le pases cómo parámetro la variable $angle .. para que haga el "juego" con el switch() ..
rotar.php?angle=90
(y sólo está implementado el código para el rotado a 90º .. ademas que asume que usarías variabels globales .. sino usa $_GET ['angle'] en lugar del $angle ...)
Bien .. eso sería la solución a ese problema concreto .. pero, hechando un vistazo al manual oficial de PHP .. vemos que tenémos la función:
ImageRotate()
http://www.php.net/imagerotate
Y .. un ejemplo básico:
rotar.php Código PHP:
<?
// Se llama al script:
// rotar.php?imagen=nombre_imagen&angulo=nº
$angulo=$_GET['angulo'];
$imagen=$_GET['imagen'];
$size = GetImageSize($imagen);
$tot_x = $size[0];
$tot_y = $size[1];
header ("Content-type: image/jpeg");
$img = ImageCreateFromJpeg($imagen);
$img = ImageCreateFromJpeg($imagen);
$img = ImageRotate($img,$angulo,0);
ImageJPEG($img);
?>
Y un ejemplo completo de uso ...
demo.php Código PHP:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Rotar imagenes</title>
</head>
<body>
<?php
$imagen="007.jpg"; // tu imagen ..
for ($angulo=0; $angulo <= 360; $angulo += 90 ){
echo "Rotación: ".$angulo."º<br>";
echo "<img src=\"rotar.php?imagen=".$imagen."&angulo=".$angulo."\"><br><br>";
}
?>
</body>
</html>
PD: .. no requiere de GD 2.x .. por qué no usa "truecolor" funciones .. pero si quieres más calidad (de colores en tus imagenes) .. fijate en los comentarios de los usuarios de la función mencionada en el manual oficial de PHP, ahí verás ejemplos más completos que este.
Un saludo,