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

241 lines
5.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 213fbd9440a224f9c1da4942c85124ce0c120c52 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.imagegif" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>imagegif</refname>
<refpurpose>&gd.image.output;</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>imagegif</methodname>
<methodparam><type>GdImage</type><parameter>image</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>resource</type><type>string</type><type>null</type></type><parameter>file</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>imagegif</function> crée un fichier image <acronym>GIF</acronym> dans
<parameter>file</parameter> d'après l'image <parameter>image</parameter>.
L'argument <parameter>image</parameter> est un identifiant valide retourné par la
fonction <function>imagecreate</function> ou les fonctions <literal>imagecreatefrom*</literal>.
</para>
<para>
Le format de l'image sera <acronym>GIF87a</acronym>, à moins que l'image n'ait
une couleur transparente (mise en place grâce à la fonction
<function>imagecolortransparent</function>)), ce qui fera qu'elle sera au format
<acronym>GIF89a</acronym>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&gd.image.description;
<varlistentry>
<term><parameter>file</parameter></term>
<listitem>
<para>&gd.image.path;</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
&gd.return.trueonerror;
</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>Affichage d'une image en utilisant <function>imagegif</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Création d'une image
$im = imagecreatetruecolor(100, 100);
// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
// Dessine un texte dans l'image
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
// Affiche l'image sur le navigateur
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>
]]>
</programlisting>
</example>
<example>
<title>Conversion d'une image PNG en GIF, en utilisant <function>imagegif</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Chargement de l'image PNG
$png = imagecreatefrompng('./php.png');
// Sauvegarde de l'image en GIF
imagegif($png, './php.gif');
// Libération de la mémoire
imagedestroy($png);
// C'est fait !
echo 'Convertion avec succès de l\'image PNG en GIF !';
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Le code suivant vous permet d'écrire des scripts PHP plus portables :
le type de GD est automatiquement détecté. Il remplace la
séquence <literal>header ("Content-Type: image/gif"); ImageGif($im);</literal>
par un code plus souple :
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
// Création d'une image
$im = imagecreatetruecolor(100, 100);
// On fait quelques opérations sur l'image ici...
// Gestion de l'affichage
if(function_exists('imagegif'))
{
// Pour GIF
header('Content-Type: image/gif');
imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
// Pour JPEG
header('Content-Type: image/jpeg');
imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
// Pour PNG
header('Content-Type: image/png');
imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
// Pour WBMP
header('Content-Type: image/vnd.wap.wbmp');
imagewbmp($im);
}
else
{
imagedestroy($im);
die('Aucun support sur ce serveur PHP n\'a été trouvé');
}
// Si un support a été trouvé pour un de ces formats,
// nous libérons la mémoire
if($im)
{
imagedestroy($im);
}
?>
]]>
</programlisting>
</informalexample>
</para>
</note>
<note>
<para>
Vous pouvez utiliser la
fonction <function>imagetypes</function> au lieu de
<function>function_exists</function> pour vérifier la
présence des différents formats d'images supportés.:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
if(imagetypes() & IMG_GIF)
{
header('Content-Type: image/gif');
imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
/* ... etc. */
}
?>
]]>
</programlisting>
</informalexample>
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>imagepng</function></member>
<member><function>imagewbmp</function></member>
<member><function>imagejpeg</function></member>
<member><function>imagetypes</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
-->