<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Sets rotation factor</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.ps-restore.html">ps_restore</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.ps-save.html">ps_save</a></div> <div class="up"><a href="ref.ps.html">PS Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.ps-rotate" class="refentry"> <div class="refnamediv"> <h1 class="refname">ps_rotate</h1> <p class="verinfo">(PECL ps >= 1.1.0)</p><p class="refpurpose"><span class="refname">ps_rotate</span> — <span class="dc-title">Sets rotation factor</span></p> </div> <div class="refsect1 description" id="refsect1-function.ps-rotate-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">bool</span> <span class="methodname"><strong>ps_rotate</strong></span> ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$psdoc</code></span> , <span class="methodparam"><span class="type">float</span> <code class="parameter">$rot</code></span> )</div> <p class="para rdfs-comment"> Sets the rotation of the coordinate system. </p> </div> <div class="refsect1 parameters" id="refsect1-function.ps-rotate-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">psdoc</code></em></span> <dd> <p class="para"> Resource identifier of the postscript file as returned by <span class="function"><a href="function.ps-new.html" class="function">ps_new()</a></span>. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">rot</code></em></span> <dd> <p class="para"> Angle of rotation in degree. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.ps-rotate-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns <strong><code>TRUE</code></strong> on success or <strong><code>FALSE</code></strong> on failure. </p> </div> <div class="refsect1 examples" id="refsect1-function.ps-rotate-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-3563"> <p><strong>Example #1 Rotation of the coordinate system</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">rectangle</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">ps_moveto</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">ps_lineto</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">ps_lineto</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">ps_lineto</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">ps_lineto</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">ps_stroke</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">$ps </span><span style="color: #007700">= </span><span style="color: #0000BB">ps_new</span><span style="color: #007700">();<br />if (!</span><span style="color: #0000BB">ps_open_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #DD0000">"rotation.ps"</span><span style="color: #007700">)) {<br /> print </span><span style="color: #DD0000">"Cannot open PostScript file\n"</span><span style="color: #007700">;<br /> exit;<br />}<br /><br /></span><span style="color: #0000BB">ps_set_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #DD0000">"Creator"</span><span style="color: #007700">, </span><span style="color: #DD0000">"rotation.php"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_set_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #DD0000">"Author"</span><span style="color: #007700">, </span><span style="color: #DD0000">"Uwe Steinmann"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_set_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #DD0000">"Title"</span><span style="color: #007700">, </span><span style="color: #DD0000">"Rotation example"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_set_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #DD0000">"BoundingBox"</span><span style="color: #007700">, </span><span style="color: #DD0000">"0 0 596 842"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$psfont </span><span style="color: #007700">= </span><span style="color: #0000BB">ps_findfont</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #DD0000">"Helvetica"</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">ps_begin_page</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">596</span><span style="color: #007700">, </span><span style="color: #0000BB">842</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_set_text_pos</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">100</span><span style="color: #007700">, </span><span style="color: #0000BB">100</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_save</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_translate</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">100</span><span style="color: #007700">, </span><span style="color: #0000BB">100</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_rotate</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">45</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">rectangle</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_restore</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_setfont</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #0000BB">$psfont</span><span style="color: #007700">, </span><span style="color: #0000BB">8.0</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_show</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">, </span><span style="color: #DD0000">"Text without rotation"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ps_end_page</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">ps_delete</span><span style="color: #007700">(</span><span style="color: #0000BB">$ps</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p> 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 <span class="function"><a href="function.ps-translate.html" class="function">ps_translate()</a></span> and <span class="function"><strong>ps_rotate()</strong></span>. 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. </p></div> <div class="example-contents"><p> In order to output the following text at the original position, all modifications of the coordinate system are encapsulated in <span class="function"><a href="function.ps-save.html" class="function">ps_save()</a></span> and <span class="function"><a href="function.ps-restore.html" class="function">ps_restore()</a></span>. </p></div> </div> </p> </div> <div class="refsect1 seealso" id="refsect1-function.ps-rotate-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.ps-scale.html" class="function" rel="rdfs-seeAlso">ps_scale()</a> - Sets scaling factor</span></li> <li class="member"> <span class="function"><a href="function.ps-translate.html" class="function" rel="rdfs-seeAlso">ps_translate()</a> - Sets translation</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.ps-restore.html">ps_restore</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.ps-save.html">ps_save</a></div> <div class="up"><a href="ref.ps.html">PS Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>