Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ps_translate(3) [php man page]

PS_TRANSLATE(3) 							 1							   PS_TRANSLATE(3)

ps_translate - Sets translation

SYNOPSIS
bool ps_translate (resource $psdoc, float $x, float $y) DESCRIPTION
Sets a new initial point of the coordinate system. PARAMETERS
o $psdoc - Resource identifier of the postscript file as returned by ps_new(3). o $x - x-coordinate of the origin of the translated coordinate system. o $y - y-coordinate of the origin of the translated coordinate system. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 Translation of the coordinate system <?php function 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, "translate.ps")) { print "Cannot open PostScript file "; exit; } ps_set_info($ps, "Creator", "translate.php"); ps_set_info($ps, "Author", "Uwe Steinmann"); ps_set_info($ps, "Title", "Translated 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_translate($ps, 500, 750); rectangle($ps); ps_translate($ps, -500, -750); ps_setfont($ps, $psfont, 8.0); ps_show($ps, "Text at initial position"); ps_end_page($ps); ps_begin_page($ps, 596, 842); ps_set_text_pos($ps, 100, 100); ps_save($ps); ps_translate($ps, 500, 750); rectangle($ps); ps_restore($ps); ps_setfont($ps, $psfont, 8.0); ps_show($ps, "Text at initial position"); ps_end_page($ps); ps_delete($ps); ?> 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 be undone after the graphic has been drawn. On the second page a slightly different and more elegant approach is applied. Instead of undoing the translation with a second call of ps_translate(3) the graphics context is saved before modifying the coordinate system and restored after drawing the rectangle. SEE ALSO
ps_scale(3), ps_rotate(3). PHP Documentation Group PS_TRANSLATE(3)

Check Out this Related Man Page

PS_BEGIN_TEMPLATE(3)							 1						      PS_BEGIN_TEMPLATE(3)

ps_begin_template - Start a new template

SYNOPSIS
int ps_begin_template (resource $psdoc, float $width, float $height) DESCRIPTION
Starts a new template. A template is called a form in the postscript language. It is created similar to a pattern but used like an image. Templates are often used for drawings which are placed several times through out the document, e.g. like a company logo. All drawing func- tions may be used within a template. The template will not be drawn until it is placed by ps_place_image(3). PARAMETERS
o $psdoc - Resource identifier of the postscript file as returned by ps_new(3). o $width - The width of the template in pixel. o $height - The height of the template in pixel. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 Creating and using a template <?php $ps = ps_new(); if (!ps_open_file($ps, "template.ps")) { print "Cannot open PostScript file "; exit; } ps_set_parameter($ps, "warning", "true"); ps_set_info($ps, "Creator", "template.php"); ps_set_info($ps, "Author", "Uwe Steinmann"); ps_set_info($ps, "Title", "Template example"); $pstemplate = ps_begin_template($ps, 30.0, 30.0); ps_moveto($ps, 0, 0); ps_lineto($ps, 30, 30); ps_moveto($ps, 0, 30); ps_lineto($ps, 30, 0); ps_stroke($ps); ps_end_template($ps); ps_begin_page($ps, 596, 842); ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0); ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5); ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6); ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3); ps_end_page($ps); ps_close($ps); ps_delete($ps); ?> SEE ALSO
ps_end_template(3). PHP Documentation Group PS_BEGIN_TEMPLATE(3)
Man Page