mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-27 14:28:56 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@297028 c90b9560-bf6c-de11-be94-00142212c4b1
278 lines
8 KiB
XML
278 lines
8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<refentry xml:id='function.imagefttext' xmlns="http://docbook.org/ns/docbook">
|
|
<refnamediv>
|
|
<refname>imagefttext</refname>
|
|
<refpurpose>Write text to the image using fonts using FreeType 2</refpurpose>
|
|
</refnamediv>
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>array</type><methodname>imagefttext</methodname>
|
|
<methodparam><type>resource</type><parameter>image</parameter></methodparam>
|
|
<methodparam><type>float</type><parameter>size</parameter></methodparam>
|
|
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>x</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>y</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>color</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>fontfile</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>text</parameter></methodparam>
|
|
<methodparam choice="opt"><type>array</type><parameter>extrainfo</parameter></methodparam>
|
|
</methodsynopsis>
|
|
</refsect1>
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
&gd.image.description;
|
|
<varlistentry>
|
|
<term><parameter>size</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The font size to use in points.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>angle</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>x</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>y</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The y-ordinate. This sets the position of the fonts baseline, not the
|
|
very bottom of the character.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>color</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The index of the desired color for the text, see
|
|
<function>imagecolorexact</function>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>fontfile</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The path to the TrueType font you wish to use.
|
|
</para>
|
|
<para>
|
|
Depending on which version of the GD library PHP is using, <emphasis>when
|
|
<parameter>fontfile</parameter> does not begin with a leading
|
|
<literal>/</literal> then <literal>.ttf</literal> will be appended</emphasis>
|
|
to the filename and the library will attempt to search for that
|
|
filename along a library-defined font path.
|
|
</para>
|
|
<para>
|
|
When using versions of the GD library lower than 2.0.18, a <literal>space</literal> character,
|
|
rather than a semicolon, was used as the 'path separator' for different font files.
|
|
Unintentional use of this feature will result in the warning message:
|
|
<literal>Warning: Could not find/open font</literal>. For these affected versions, the
|
|
only solution is moving the font to a path which does not contain spaces.
|
|
</para>
|
|
<para>
|
|
In many cases where a font resides in the same directory as the script using it
|
|
the following trick will alleviate any include problems.
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Set the enviroment variable for GD
|
|
putenv('GDFONTPATH=' . realpath('.'));
|
|
|
|
// Name the font to be used (note the lack of the .ttf extension)
|
|
$font = 'SomeFont';
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>text</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Text to be inserted into image.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>extrainfo</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
<table>
|
|
<title>Possible array indexes for <parameter>extrainfo</parameter></title>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Key</entry>
|
|
<entry>Type</entry>
|
|
<entry>Meaning</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>linespacing</literal></entry>
|
|
<entry><type>float</type></entry>
|
|
<entry>Defines drawing linespacing</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
This function returns an array defining the four points of the box, starting in the lower left and moving counter-clockwise:
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<tbody>
|
|
<row>
|
|
<entry>0</entry>
|
|
<entry>lower left x-coordinate</entry>
|
|
</row>
|
|
<row>
|
|
<entry>1</entry>
|
|
<entry>lower left y-coordinate</entry>
|
|
</row>
|
|
<row>
|
|
<entry>2</entry>
|
|
<entry>lower right x-coordinate</entry>
|
|
</row>
|
|
<row>
|
|
<entry>3</entry>
|
|
<entry>lower right y-coordinate</entry>
|
|
</row>
|
|
<row>
|
|
<entry>4</entry>
|
|
<entry>upper right x-coordinate</entry>
|
|
</row>
|
|
<row>
|
|
<entry>5</entry>
|
|
<entry>upper right y-coordinate</entry>
|
|
</row>
|
|
<row>
|
|
<entry>6</entry>
|
|
<entry>upper left x-coordinate</entry>
|
|
</row>
|
|
<row>
|
|
<entry>7</entry>
|
|
<entry>upper left y-coordinate</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title><function>imagefttext</function> example</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Create a 300x100 image
|
|
$im = imagecreatetruecolor(300, 100);
|
|
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
|
|
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
|
|
|
|
// Make the background red
|
|
imagefilledrectangle($im, 0, 0, 299, 99, $red);
|
|
|
|
// Path to our ttf font file
|
|
$font_file = './arial.ttf';
|
|
|
|
// Draw the text 'PHP Manual' using font size 13
|
|
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');
|
|
|
|
// Output image to the browser
|
|
header('Content-Type: image/png');
|
|
|
|
imagepng($im);
|
|
imagedestroy($im);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 role="notes">
|
|
&reftitle.notes;
|
|
¬e.gd.2;
|
|
¬e.freetype;
|
|
</refsect1>
|
|
<refsect1 role="changelog">
|
|
&reftitle.changelog;
|
|
<para>
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>&Version;</entry>
|
|
<entry>&Description;</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>4.3.5</entry>
|
|
<entry>
|
|
<parameter>extrainfo</parameter> was made optional.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</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:"~/.phpdoc/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
|
|
-->
|