php-doc-en/reference/image/functions/imagegif.xml
Christoph M. Becker 213fbd9440
Remove obsolete info regarding libgd < 2.1.0
As of PHP 7.0.0, libgd ≥ 2.1.0 is required anyway.
2021-12-06 17:51:26 +01:00

237 lines
5.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<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> creates the <acronym>GIF</acronym>
file in <parameter>file</parameter> from the image <parameter>image</parameter>. The
<parameter>image</parameter> argument is the return from the
<function>imagecreate</function> or <literal>imagecreatefrom*</literal>
function.
</para>
<para>
The image format will be <acronym>GIF87a</acronym> unless the
image has been made transparent with
<function>imagecolortransparent</function>, in which case the
image format will be <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>Outputting an image using <function>imagegif</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Create a new image instance
$im = imagecreatetruecolor(100, 100);
// Make the background white
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
// Draw a text string on the image
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
// Output the image to browser
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>
]]>
</programlisting>
</example>
<example>
<title>Converting a PNG image to GIF using <function>imagegif</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Load the PNG
$png = imagecreatefrompng('./php.png');
// Save the image as a GIF
imagegif($png, './php.gif');
// Free from memory
imagedestroy($png);
// We're done
echo 'Converted PNG image to GIF with success!';
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
The following code snippet allows you to write more
portable PHP applications by auto-detecting the
type of GD support which is available. Replace
the sequence <literal>header ("Content-Type: image/gif");
imagegif ($im);</literal> by the more flexible sequence:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
// Create a new image instance
$im = imagecreatetruecolor(100, 100);
// Do some image operations here
// Handle output
if(function_exists('imagegif'))
{
// For GIF
header('Content-Type: image/gif');
imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
// For JPEG
header('Content-Type: image/jpeg');
imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
// For PNG
header('Content-Type: image/png');
imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
// For WBMP
header('Content-Type: image/vnd.wap.wbmp');
imagewbmp($im);
}
else
{
imagedestroy($im);
die('No image support in this PHP server');
}
// If image support was found for one of these
// formats, then free it from memory
if($im)
{
imagedestroy($im);
}
?>
]]>
</programlisting>
</informalexample>
</para>
</note>
<note>
<para>
You can use the function
<function>imagetypes</function> for checking
the presence of the various supported image formats:
<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
-->