<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >ps_translate</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="PostScript document creation" HREF="ref.ps.html"><LINK REL="PREVIOUS" TITLE="ps_symbol" HREF="function.ps-symbol.html"><LINK REL="NEXT" TITLE="Pspell Functions" HREF="ref.pspell.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.ps-symbol.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="ref.pspell.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.ps-translate" ></A >ps_translate</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN194307" ></A ><P > (PECL)</P >ps_translate -- Sets translation</DIV ><DIV CLASS="refsect1" ><A NAME="AEN194310" ></A ><H2 >说明</H2 >bool <B CLASS="methodname" >ps_translate</B > ( resource psdoc, float x, float y )<BR ></BR ><P > Sets a new initial point of the coordinate system. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN194325" ></A ><H2 >参数</H2 ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><CODE CLASS="parameter" >psdoc</CODE ></DT ><DD ><P > Resource identifier of the postscript file as returned by <A HREF="function.ps-new.html" ><B CLASS="function" >ps_new()</B ></A >. </P ></DD ><DT ><CODE CLASS="parameter" >x</CODE ></DT ><DD ><P > x-coordinate of the origin of the translated coordinate system. </P ></DD ><DT ><CODE CLASS="parameter" >y</CODE ></DT ><DD ><P > y-coordinate of the origin of the translated coordinate system. </P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN194345" ></A ><H2 >返回值</H2 ><P > 如果成功则返回 <TT CLASS="constant" ><B >TRUE</B ></TT >,失败则返回 <TT CLASS="constant" ><B >FALSE</B ></TT >。 </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN194350" ></A ><H2 >范例</H2 ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN194353" ></A ><P ><B >例 1. Translation of the coordinate system</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#007700">function </font><font color="#0000BB">rectangle</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">) {<br /> </font><font color="#0000BB">ps_moveto</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">);<br /> </font><font color="#0000BB">ps_lineto</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">, </font><font color="#0000BB">50</font><font color="#007700">);<br /> </font><font color="#0000BB">ps_lineto</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">50</font><font color="#007700">, </font><font color="#0000BB">50</font><font color="#007700">);<br /> </font><font color="#0000BB">ps_lineto</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">50</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">);<br /> </font><font color="#0000BB">ps_lineto</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">);<br /> </font><font color="#0000BB">ps_stroke</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">);<br />}<br /><br /></font><font color="#0000BB">$ps </font><font color="#007700">= </font><font color="#0000BB">ps_new</font><font color="#007700">();<br />if (!</font><font color="#0000BB">ps_open_file</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#DD0000">"translate.ps"</font><font color="#007700">)) {<br /> print </font><font color="#DD0000">"Cannot open PostScript file\n"</font><font color="#007700">;<br /> exit;<br />}<br /><br /></font><font color="#0000BB">ps_set_info</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#DD0000">"Creator"</font><font color="#007700">, </font><font color="#DD0000">"translate.php"</font><font color="#007700">);<br /></font><font color="#0000BB">ps_set_info</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#DD0000">"Author"</font><font color="#007700">, </font><font color="#DD0000">"Uwe Steinmann"</font><font color="#007700">);<br /></font><font color="#0000BB">ps_set_info</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#DD0000">"Title"</font><font color="#007700">, </font><font color="#DD0000">"Translated example"</font><font color="#007700">);<br /></font><font color="#0000BB">ps_set_info</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#DD0000">"BoundingBox"</font><font color="#007700">, </font><font color="#DD0000">"0 0 596 842"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$psfont </font><font color="#007700">= </font><font color="#0000BB">ps_findfont</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#DD0000">"Helvetica"</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">);<br /><br /></font><font color="#0000BB">ps_begin_page</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">596</font><font color="#007700">, </font><font color="#0000BB">842</font><font color="#007700">);<br /></font><font color="#0000BB">ps_set_text_pos</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">100</font><font color="#007700">, </font><font color="#0000BB">100</font><font color="#007700">);<br /></font><font color="#0000BB">ps_translate</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">500</font><font color="#007700">, </font><font color="#0000BB">750</font><font color="#007700">);<br /></font><font color="#0000BB">rectangle</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">);<br /></font><font color="#0000BB">ps_translate</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, -</font><font color="#0000BB">500</font><font color="#007700">, -</font><font color="#0000BB">750</font><font color="#007700">);<br /></font><font color="#0000BB">ps_setfont</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">$psfont</font><font color="#007700">, </font><font color="#0000BB">8.0</font><font color="#007700">);<br /></font><font color="#0000BB">ps_show</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#DD0000">"Text at initial position"</font><font color="#007700">);<br /></font><font color="#0000BB">ps_end_page</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">);<br /><br /></font><font color="#0000BB">ps_begin_page</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">596</font><font color="#007700">, </font><font color="#0000BB">842</font><font color="#007700">);<br /></font><font color="#0000BB">ps_set_text_pos</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">100</font><font color="#007700">, </font><font color="#0000BB">100</font><font color="#007700">);<br /></font><font color="#0000BB">ps_save</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">);<br /></font><font color="#0000BB">ps_translate</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">500</font><font color="#007700">, </font><font color="#0000BB">750</font><font color="#007700">);<br /></font><font color="#0000BB">rectangle</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">);<br /></font><font color="#0000BB">ps_restore</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">);<br /></font><font color="#0000BB">ps_setfont</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#0000BB">$psfont</font><font color="#007700">, </font><font color="#0000BB">8.0</font><font color="#007700">);<br /></font><font color="#0000BB">ps_show</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">, </font><font color="#DD0000">"Text at initial position"</font><font color="#007700">);<br /></font><font color="#0000BB">ps_end_page</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">);<br /><br /></font><font color="#0000BB">ps_delete</font><font color="#007700">(</font><font color="#0000BB">$ps</font><font color="#007700">);<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P >The above example demonstrates two possible ways to place a graphic (in this case just a rectangle) at any position on the page, while the graphic itself uses its own coordinate system. The trick is to change the origin of the current coordinate system before drawing the rectangle. The translation has to undone after the graphic has been drawn. </P ><P > On the second page a slightly different and more elegant approach is applied. Instead of undoing the translation with a second call of <B CLASS="function" >ps_translate()</B > the graphics context is saved before modifying the coordinate system and restored after drawing the rectangle. </P ></DIV ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN194359" ></A ><H2 >参见</H2 ><P > <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD ><A HREF="function.ps-scale.html" ><B CLASS="function" >ps_scale()</B ></A ></TD ></TR ><TR ><TD ><A HREF="function.ps-rotate.html" ><B CLASS="function" >ps_rotate()</B ></A ></TD ></TR ></TBODY ></TABLE ><P ></P > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.ps-symbol.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="ref.pspell.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >ps_symbol</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.ps.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Pspell Functions</TD ></TR ></TABLE ></DIV ></BODY ></HTML >