1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.15 $ -->
<refentry xml:id="function.imagepsbbox" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>imagepsbbox</refname>
<refpurpose>Give the bounding box of a text rectangle using PostScript Type1 fonts</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>imagepsbbox</methodname>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
<methodparam><type>resource</type><parameter>font</parameter></methodparam>
<methodparam><type>int</type><parameter>size</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>array</type><methodname>imagepsbbox</methodname>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
<methodparam><type>resource</type><parameter>font</parameter></methodparam>
<methodparam><type>int</type><parameter>size</parameter></methodparam>
<methodparam><type>int</type><parameter>space</parameter></methodparam>
<methodparam><type>int</type><parameter>tightness</parameter></methodparam>
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
</methodsynopsis>
<para>
Gives the bounding box of a text rectangle using PostScript Type1 fonts.
</para>
<para>
The bounding box is calculated using information available from character
metrics, and unfortunately tends to differ slightly from the results
achieved by actually rasterizing the text. If the angle is 0 degrees, you
can expect the text to need 1 pixel more to every direction.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>text</parameter></term>
<listitem>
<para>
The text to be written.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>font_index</parameter></term>
<listitem>
<para>
A font resource, returned by <function>imagepsloadfont</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>
<parameter>size</parameter> is expressed in pixels.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>space</parameter></term>
<listitem>
<para>
Allows you to change the default value of a space in a font. This
amount is added to the normal value and can also be negative.
Expressed in character space units, where 1 unit is 1/1000th of an
em-square.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>tightness</parameter></term>
<listitem>
<para>
<parameter>tightness</parameter> allows you to control the amount
of white space between characters. This amount is added to the
normal character width and can also be negative.
Expressed in character space units, where 1 unit is 1/1000th of an
em-square.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>angle</parameter></term>
<listitem>
<para>
<parameter>angle</parameter> is in degrees.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an array containing the following elements:
<informaltable>
<tgroup cols="2">
<tbody>
<row>
<entry>0</entry>
<entry>left x-coordinate</entry>
</row>
<row>
<entry>1</entry>
<entry>upper y-coordinate</entry>
</row>
<row>
<entry>2</entry>
<entry>right x-coordinate</entry>
</row>
<row>
<entry>3</entry>
<entry>lower y-coordinate</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>imagepsbbox</function> usage</title>
<programlisting role="php">
<![CDATA[
<?php
// Create image handle
$im = imagecreatetruecolor(200, 200);
// Allocate colors
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
// Load the PostScript Font
$font = imagepsloadfont('font.pfm');
// Make a bounding box for the font
$bbox = imagepsbbox('Sample text is simple', $font, 12);
// Define our X and Y cordinates
$x = ($bbox[2] / 2) - 10;
$y = ($bbox[3] / 2) - 10;
// Write the font to the image
imagepstext($im, 'Sample text is simple', $font, 12, $black, $white, $x, $y);
// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
¬e.config.t1lib;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>imagepstext</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|