Php/docs/function.ps-rotate

来自菜鸟教程
跳转至:导航、​搜索

ps_rotate

(PECL ps >= 1.1.0)

ps_rotateSets rotation factor


说明

ps_rotate ( resource $psdoc , float $rot ) : bool

Sets the rotation of the coordinate system.


参数

psdoc
Resource identifier of the postscript file as returned by ps_new().
rot
Angle of rotation in degree.


返回值

成功时返回 true, 或者在失败时返回 false


范例

Example #1 Rotation of the coordinate system

<?phpfunction rectangle($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, "rotation.ps")) {  print "Cannot open PostScript file\n";  exit;}ps_set_info($ps, "Creator", "rotation.php");ps_set_info($ps, "Author", "Uwe Steinmann");ps_set_info($ps, "Title", "Rotation example");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);rectangle($ps);ps_restore($ps);ps_setfont($ps, $psfont, 8.0);ps_show($ps, "Text without rotation");ps_end_page($ps);ps_delete($ps);?>

The above example illustrates a very common way of rotating a graphic (in this case just a rectangle) by simply rotating the coordinate system. Since the graphic's coordinate system assumes (0,0) to be the origin, the page coordinate system is also translated to place the graphics not on the edge of the page. Pay attention to the order of ps_translate() and ps_rotate(). In the above case the rectancle is rotated around the point (100, 100) in the untranslated coordinate system. Switching the two statements has a completely different result.


In order to output the following text at the original position, all modifications of the coordinate system are encapsulated in ps_save() and ps_restore().


参见