Files
doc-fr/reference/image/functions/imagefttext.xml
2021-12-16 14:17:32 +00:00

294 lines
8.6 KiB
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 213fbd9440a224f9c1da4942c85124ce0c120c52 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.imagefttext" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>imagefttext</refname>
<refpurpose>Écrit du texte dans une image avec la police courante FreeType 2</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>imagefttext</methodname>
<methodparam><type>GdImage</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>font_filename</parameter></methodparam>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<note>
<para>
Antérieur à PHP 8.0.0, <function>imagefttext</function> était une variante
étendue de <function>imagettftext</function> qui en plus supporte
<parameter>extrainfo</parameter>.
À partir de PHP 8.0.0, <function>imagefttext</function> est un alias de
<function>imagefttext</function>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&gd.image.description;
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>
La taille de la police à utiliser, en nombre de points.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>angle</parameter></term>
<listitem>
<para>
L'angle, en degrés ; 0 degré pour une lecture du texte de gauche à droite.
Les grandes valeurs représentent une rotation dans le sens des aiguilles
d'une montre. Par exemple, une valeur de 90 aura pour effet de lire le
texte du bas vers le haut.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x</parameter></term>
<listitem>
<para>
Les coordonnées, fournies par <parameter>x</parameter> et
<parameter>y</parameter> définissent le point de départ du
premier caractère (et plus précisément, le coin en bas à gauche
du caractère). C'est un comportement différent de la fonction
<function>imagestring</function>, où <parameter>x</parameter>
et <parameter>y</parameter> définissent le coin en haut, à gauche
du premier caractère. Par exemple, en haut à gauche vaut
0, 0.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y</parameter></term>
<listitem>
<para>
L'ordonnée <literal>y-ordinate</literal>. Ce paramètre configure la
position de base de la police, et non pas le bas de cette dernière.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>color</parameter></term>
<listitem>
<para>
L'index de la couleur désirée pour le texte, voir
la fonction <function>imagecolorexact</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>font_filename</parameter></term>
<listitem>
<para>
Le chemin vers la police TrueType à utiliser.
</para>
<para>
Suivant la version de GD utilisée par PHP, il sera recherché les
fichiers <emphasis>qui ne commencent pas par un '<literal>/</literal>', en y
ajoutant l'extension '<literal>.ttf</literal>'</emphasis>, et suivant le chemin des
polices défini par la bibliothèque.
</para>
<para>
Dans la plupart des cas, lorsque la police se trouve dans le même dossier
que le script qui cherche à l'utiliser, la solution suivante permet
de s'affranchir de tous les problèmes relatifs à l'inclusion.
<programlisting role="php">
<![CDATA[
<?php
// Définit la variable d'environnement pour GD
putenv('GDFONTPATH=' . realpath('.'));
// Nom de la police à utiliser (note qu'il n'y a pas d'extension .ttf)
$font = 'SomeFont';
?>
]]>
</programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>text</parameter></term>
<listitem>
<para>
Le texte à insérer dans l'image.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
<table>
<title>Indexes possibles pour le tableau <parameter>options</parameter></title>
<tgroup cols="2">
<thead>
<row>
<entry>Clé</entry>
<entry>Type</entry>
<entry>Signification</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>linespacing</literal></entry>
<entry><type>float</type></entry>
<entry>Définit l'espacement entre les lignes lors du dessin</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Cette fonction retourne un tableau définissant les 4 points d'une boîte, en commençant
par le coin en bas, à gauche, puis, les suivants, dans le sens des aiguilles d'une
montre :
<informaltable>
<tgroup cols="2">
<tbody>
<row>
<entry>0</entry>
<entry>x : coordonnée en bas, à gauche</entry>
</row>
<row>
<entry>1</entry>
<entry>y : coordonnée en bas, à gauche</entry>
</row>
<row>
<entry>2</entry>
<entry>x : coordonnée en bas, à droite</entry>
</row>
<row>
<entry>3</entry>
<entry>y : coordonnée en bas, à droite</entry>
</row>
<row>
<entry>4</entry>
<entry>x : coordonnée en haut, à droite</entry>
</row>
<row>
<entry>5</entry>
<entry>y : coordonnée en haut, à droite</entry>
</row>
<row>
<entry>6</entry>
<entry>x : coordonnée en haut, à gauche</entry>
</row>
<row>
<entry>7</entry>
<entry>y : coordonnée en haut, à gauche</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
<para>
En cas d'échec, &false; est retourné.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&gd.changelog.image-param;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>imagefttext</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Création d'une image de 300x100 pixels
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
// Définit l'arrière-plan en rouge
imagefilledrectangle($im, 0, 0, 299, 99, $red);
// Chemin vers notre fichier de police ttf
$font_file = './arial.ttf';
// Dessine le texte 'PHP Manual' en utilisant une police de taille 13
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');
// Affichage de l'image sur le navigateur
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.freetype;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>imageftbbox</function></member>
<member><function>imagettftext</function></member>
</simplelist>
</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
-->