(PECL ps >= 1.1.0)
ps_rotate — Establecer el factor de rotación
$psdoc
, float $rot
) : boolEstablece la rotación del sistema de coordenadas.
psdoc
El identificador de recursos del fichero postscript, como el devuelto por la función ps_new().
rot
El ángulo de rotación en grados.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Rotación del sistema de coordenadas
<?php
function rectángulo($ps) {
ps_moveto($ps, 0, 0);
ps_lineto($ps, 0, 50);
ps_lineto($ps, 50, 50);
ps_lineto($ps, 50, 0);
ps_lineto($ps, 0, 0);
ps_stroke($ps);
}
$ps = ps_new();
if (!ps_open_file($ps, "rotación.ps")) {
print "No se pudo abrir el fichero PostScript\n";
exit;
}
ps_set_info($ps, "Creator", "rotación.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Ejemplo de rotación");
ps_set_info($ps, "BoundingBox", "0 0 596 842");
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectángulo($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Texto sin rotación");
ps_end_page($ps);
ps_delete($ps);
?>
El ejemplo anterior ilustra una forma muy común de rotar un gráfico (en este caso un rectángulo) simplemente rotando el sistema de coordenadas. Ya que se asume que el origen del sistema de coordenadas del gráfico es (0,0), el sistema de coordenadas de la página también es trasladado para colocar los gráficos no en el extremo de la pagina. Se debe poner atención en el orden de ps_translate() y ps_rotate(). En el caso anterior el rectángulo es rotado alrededor del punto (100, 100) en el sistema de coordenadas sin trasladar. Si se cambian las dos sentencias se obtendrá un resultado completamente diferente.
Para poder imprimir el texto siguiente en la posición original, todas las modificaciones del sistema de coordenadas son encapsuladas en las funciones ps_save() y ps_restore().