Incorporated the user notes.

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@168841 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Aidan Lister 2004-09-20 10:58:17 +00:00
parent 1443a4be76
commit 6a709352e2

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.12 $ -->
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Revision: 1.13 $ -->
<!-- splitted from ./en/functions/image.xml, last change in rev 1.2 -->
<refentry id="function.imagettftext">
<refnamediv>
@ -20,71 +20,150 @@
<methodparam><type>string</type><parameter>text</parameter></methodparam>
</methodsynopsis>
<para>
<function>imagettftext</function> draws the string
<parameter>text</parameter> in the image identified by
<parameter>image</parameter>, starting at coordinates
<parameter>x</parameter>, <parameter>y</parameter> (top left is 0, 0), at
an angle of <parameter>angle</parameter> in color
<parameter>color</parameter>, using the TrueType font file identified by
<parameter>fontfile</parameter>. Depending on which version of the GD
library that PHP is using, when <parameter>fontfile</parameter> does not
begin with a leading '/', '.ttf' will be appended to the filename and
the library will attempt to search for that filename along a
library-defined font path.
</para>
<para>
The coordinates given by <parameter>x</parameter>,
<parameter>y</parameter> will define the basepoint of the first
character (roughly the lower-left corner of the character). This
is different from the <function>imagestring</function>, where x,
y define the upper-left corner of the first character.
</para>
<para>
<parameter>angle</parameter> is in degrees, with 0 degrees being
left-to-right reading text (3 o'clock direction), and higher
values representing a counter-clockwise rotation. (i.e., a value
of 90 would result in bottom-to-top reading text).
</para>
<para>
<parameter>fontfile</parameter> is the path to the TrueType font
you wish to use.
</para>
<para>
<parameter>text</parameter> is the text string which may include
UTF-8 character sequences (of the form: &amp;#123;) to access
characters in a font beyond the first 255.
</para>
<para>
<parameter>color</parameter> is the color index. Using the
negative of a color index has the effect of turning off
antialiasing.
<variablelist>
<varlistentry>
<term><parameter>image</parameter></term>
<listitem>
<simpara>
The image resource. See <function>imagecreate</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<simpara>
The font size. Depending on your version of GD, this should be
specified as the pixel size (GD1) or point size (GD2).
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>angle</parameter></term>
<listitem>
<simpara>
The angle in degrees, with 0 degrees being left-to-right reading text.
Higher values represent a counter-clockwise rotation. For example,
a value of 90 would result in bottom-to-top reading text.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x</parameter></term>
<listitem>
<simpara>
The coordinates given by <parameter>x</parameter> and
<parameter>y</parameter> will define the basepoint of the first
character (roughly the lower-left corner of the character). This
is different from the <function>imagestring</function>, where
<parameter>x</parameter> and <parameter>y</parameter> define the
upper-left corner of the first character. For example, "top left"
is 0, 0.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y</parameter></term>
<listitem>
<simpara>
The y-ordinate. This sets the position of the fonts baseline, not
the very bottom of the character.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>color</parameter></term>
<listitem>
<simpara>
The color index. Using the negative of a color index has
the effect of turning off antialiasing.
See <function>imagecolorallocate</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fontfile</parameter></term>
<listitem>
<simpara>
The path to the TrueType font you wish to use.
</simpara>
<simpara>
Depending on which version of the GD library that PHP is using, when
<parameter>fontfile</parameter> does not begin with a leading
<literal>/</literal> then <literal>.ttf</literal> will be appended
to the filename and the library will attempt to search for that
filename along a library-defined font path.
</simpara>
<simpara>
When using versions of the GD library lower than 2.0.18, a "space" character,
rather than a semicolon, was used to define alternate paths to the font files.
Unintentional use of this feature will result in the warning message:
<literal>Warning: Could not find/open font</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>text</parameter></term>
<listitem>
<simpara>
The text string.
</simpara>
<simpara>
May include any UTF-8 character sequences
(of the form: &amp;#123;) to access characters in a font beyond the
first 255.
</simpara>
<simpara>
If a character is used in the string which is not supported by the
font, a hollow rectangle will replace the character.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
<function>imagettftext</function> returns an array with 8
elements representing four points making the bounding box of the
text. The order of the points is lower left, lower right, upper
text. The order of the points is lower left, lower right, upper
right, upper left. The points are relative to the text
regardless of the angle, so "upper left" means in the top
left-hand corner when you see the text horizontally.
</para>
<para>
This example script will produce a black JPEG 400x30 pixels, with
the words "Testing..." in white in the font Arial.
<example>
<title><function>imagettftext</function> example</title>
<para>
This example script will produce a white PNG 400x30 pixels, with
the words "Testing..." in black (with grey shadow), in the font Arial.
</para>
<programlisting role="php">
<![CDATA[
<?php
header("Content-type: image/jpeg");
$im = imagecreate(400, 30);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
// Replace path by your own font path
imagettftext($im, 20, 0, 10, 20, $black, "/path/arial.ttf",
"Testing... Omega: &amp;#937;");
imagejpeg($im);
imagedestroy($im);
// Set the content-type
header("Content-type: image/png");
// Create the image
$im = imagecreate(400, 30);
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';
// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
]]>
</programlisting>