Tengo un script que genera una foto rotada 90 grados:
Código:
Ej: <?php header("Content-Type: image/jpeg"); if (isset($_GET["rotar"])) $rotar = imagecreatefromjpeg($_GET["rotar"]); else exit(0); $destino = ImageRotate($rotar, 90, 0); @imagejpeg($destino); imagedestroy($destino); ?>
Y otra script que genera la imagen con otras características (márgenes dimeniones, etc.)
Código:
Ej: <?php header("Content-Type: image/jpeg"); if (isset($_GET["imagen"])) $imagen = imagecreatefromjpeg(urldecode($_GET["imagen"])); else exit(0); if (isset($_GET["tam"])) $tam = explode("x", $_GET["tam"]); else $tam = explode("x", "1x1"); if (isset($_GET["simular"])) $simular = $_GET["simular"]; else $simular = "A6"; if (isset($_GET["margen"])) $margen = $_GET["margen"]; else $margen = "0"; $Ancho =imagesx($imagen); $Alto =imagesy($imagen); $destino = ImageCreateTrueColor($tam[0],$tam[1]); //$destino = ImageCreate($tam[0],$tam[1]); $blanco = ImageColorAllocate( $destino, 255, 255, 255); imageFill($destino, 1, 1, $blanco); switch ($simular) { case "A5": if ((int) $tam[0] > (int) $tam[1]) { $ancho = ($tam[0] / 2) - ($margen * 2); $alto = $tam[1] - ($margen * 2); ImageCopyResized($destino, $imagen, $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); } else { $ancho = $tam[0] - ($margen * 2); $alto = ($tam[1] / 2) - ($margen * 2); ImageCopyResized($destino, $imagen, $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); } break; case "A4": $ancho = ($tam[0] / 2) - ($margen * 2); $alto = $tam[1] / 2 - ($margen * 2); ImageCopyResized($destino, $imagen, $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); break; case "A3": if ((int) $tam[0] > (int) $tam[1]) { $ancho = ($tam[0] / 4) - ($margen * 2); $alto = $tam[1] / 2 - ($margen * 2); ImageCopyResized($destino, $imagen, $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 4 + $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 4 + $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $tam[0] / 4 + $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $tam[0] / 4 + $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); } else { $ancho = ($tam[0] / 2) - ($margen * 2); $alto = $tam[1] / 4 - ($margen * 2); ImageCopyResized($destino, $imagen, $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $margen, $tam[1] / 4 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $tam[1] / 4 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $margen, $tam[1] / 4 + $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); ImageCopyResized($destino, $imagen, $tam[0] / 2 + $margen, $tam[1] / 4 + $tam[1] / 2 + $margen, 0, 0, $ancho, $alto, $Ancho, $Alto); } break; default: $ancho = $tam[0] - ($margen * 2); $alto = $tam[1] - ($margen * 2); ImageCopyResized($destino, $imagen, $margen, $margen, 0, 0, $ancho, $alto, $Ancho,$Alto); break; } @imagejpeg($destino); imagedestroy($destino); imagedestroy($imagen); ?>
(Simula una vista previa de impresión...)
Lo que no he conseguido es que la misma URL contenga los 2 script...
rotar90.php?rotar=miniPostal.php?margen=8&simular= A5&...
Lo que si pude hacer poner los 2 scripts en uno, pero me gustaría saber si de la manera que no pude conseguir es posible...
Ej:
Saludos