Files
doc-fr/reference/image/functions/imageftbbox.xml
2021-09-24 04:13:47 +01:00

228 lines
6.6 KiB
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 593ea510e853ff034e03f78a4be0daa41661c9d4 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.imageftbbox" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>imageftbbox</refname>
<refpurpose>Calcule le rectangle d'encadrement pour un texte, en utilisant la police courante et freetype2</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>imageftbbox</methodname>
<methodparam><type>float</type><parameter>size</parameter></methodparam>
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
<methodparam><type>string</type><parameter>font_filename</parameter></methodparam>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>
<function>imageftbbox</function> calcule le rectangle d'encadrement
pour le texte <parameter>text</parameter>, en utilisant la police
courante et freetype2.
</para>
<note>
<para>
Antérieur à PHP 8.0.0, <function>imageftbbox</function> était une variante
étendue de <function>imagettfbbox</function> qui en plus supporte
<parameter>extrainfo</parameter>.
À partir de PHP 8.0.0, <function>imagettfbbox</function> est un alias de
<function>imageftbbox</function>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>&gd.font.size;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>angle</parameter></term>
<listitem>
<para>
Angle, en degrés, dans lequel le paramètre <parameter>string</parameter>
sera mesuré.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>font_filename</parameter></term>
<listitem>
<para>
Le nom du fichier de la police TrueType (peut être une URL).
Suivant la version de GD utilisée par PHP, il sera recherché les
fichiers qui ne commencent pas par un '/', en y ajoutant l'extension
'.ttf', et suivant le chemin des polices défini par la bibliothèque.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
La chaîne à mesurer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
<table>
<title>Index 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>Représente 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>
<function>imageftbbox</function> retourne un tableau contenant 8 éléments
représentant les 4 points du rectangle entourant le texte :
<informaltable>
<tgroup cols="2">
<tbody>
<row>
<entry>0</entry>
<entry>Coin en bas, à gauche, position en X</entry>
</row>
<row>
<entry>1</entry>
<entry>Coin en bas, à gauche, position en Y</entry>
</row>
<row>
<entry>2</entry>
<entry>Coin en bas, à droite, position en X</entry>
</row>
<row>
<entry>3</entry>
<entry>Coin en bas, à droite, position en Y</entry>
</row>
<row>
<entry>4</entry>
<entry>Coin en haut, à droite, position en X</entry>
</row>
<row>
<entry>5</entry>
<entry>Coin en haut, à droite, position en Y</entry>
</row>
<row>
<entry>6</entry>
<entry>Coin en haut, à gauche, position en X</entry>
</row>
<row>
<entry>7</entry>
<entry>Coin en haut, à gauche, position en Y</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
<para>
Les points sont relatifs au <emphasis>texte</emphasis> suivant le paramètre
<parameter>angle</parameter>, aussi, "en haut à gauche" signifie le coin en
haut à gauche lorsque l'on regarde le texte horizontalement.
</para>
<para>
En cas d'échec, &false; est retourné.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>imageftbbox</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Création d'une image de 300x150 pixels
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 299, 299, $white);
// Chemin vers notre fichier de police
$font = './arial.ttf';
// D'abord, nous créons un rectangle contenant notre texte
$bbox = imageftbbox(10, 0, $font, 'The PHP Documentation Group');
// Nos coordonnées en X et en Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;
imagefttext($im, 10, 0, $x, $y, $black, $font, 'The PHP Documentation Group');
// Affichage vers 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>imagefttext</function></member>
<member><function>imagettfbbox</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
-->