The Server Pages
:: TSP Menu
- Home
- Authors
- Glossary
- RSS Feed

:: Servers
- CPanel
- Hosting
- Linux
- Windows

:: Webmaster
- Databases
- Design
- PHP
- Search Engines

:: Scripts
- Scripts

:: Documentation
- PHP Manual

:: Other
- Errors & Solutions
- TechPunt
- Wojjie

search for in the

imagecreatefromgd2> <imagecopyresized
[edit] Last updated: Sat, 12 May 2012

view this page in

imagecreate

(PHP 4, PHP 5)

imagecreateCreate a new palette based image

Description

resource imagecreate ( int $width , int $height )

imagecreate() returns an image identifier representing a blank image of specified size.

We recommend the use of imagecreatetruecolor().

Parameters

width

The image width.

height

The image height.

Return Values

Returns an image resource identifier on success, FALSE on errors.

Examples

Example #1 Creating a new GD image stream and outputting an image.

<?php
header
("Content-Type: image/png");
$im = @imagecreate(11020)
    or die(
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate($im000);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);
imagepng($im);
imagedestroy($im);
?>

The above example will output something similar to:

Output of example : Creating a new GD image stream and outputting an image.

See Also



imagecreatefromgd2> <imagecopyresized
[edit] Last updated: Sat, 12 May 2012
 
add a note add a note User Contributed Notes imagecreate
JamesM 25-Mar-2010 07:03
doesnt ruin the image but adds display to the output.
this will generate an image with a random color. if you like it you can use it because you have the RBG result too.
<?php
header
("content-type:image/png");
$im = imagecreate(100, 100);
$a = sprintf('%04x',mt_rand(0, 65535));
$b = sprintf('%04x',mt_rand(0, 65535));
$c = sprintf('%04x',mt_rand(0, 65535));
$white = imagecolorallocate($im,$a,$b,$c);
imagepng($im);
imagedestroy($im);
echo
"\n\n\n$a-$b-$c";
?>
dan at wow dot com 23-Sep-2009 05:29
if you want to create an image with a specific DPI, you can't control this directly from GD.

If you have access to gd.h (rarely on a shared hosting) you can modify GD_RESOLUTION and give it your desired value.

The solution that I found was directly manipulating the jpeg header bytes.
I hope this sample code would helps someone because it took me 5 hours of digging to figure out i have no other options.

<?php
header
('Content-Disposition: attachment; filename="myimg.jpg"');
header('Cache-Control: private');
$dst    = imagecreatetruecolor(300, 300); /*this creates a 300x300 pixels image*/
ob_start(); /*don't send the output to the browser since we'll need to manipulate it*/
ImageJpeg($dst);
$img = ob_get_contents();
ob_end_clean();

//byte #14 in jpeg sets the resolution type: 0=none, 1=pixels per inch, 2=pixels per cm
//bytes 15-16 sets X resolution
//bytes 17-18 sets Y resolution
$img = substr_replace($img, pack('cnn',1,300,300),13,5);

echo
$img;

?>
gpanz.blogspot.com 12-Dec-2008 01:02
function ImageCreateFromBMP($filename)

16 bit images do not have a palette...
use this :

$PALETTE = array();
if ($BMP['colors'] < 16777216 && $BMP['colors'] != 65536)
{
$PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
#nei file a 16bit manca la palette,
}

another fix:

elseif ($BMP['bits_per_pixel'] == 16)
{
$COLOR = unpack("v",substr($IMG,$P,2));
$blue  = (($COLOR[1] & 0x001f) << 3) + 7;
$green = (($COLOR[1] & 0x03e0) >> 2) + 7;
$red   = (($COLOR[1] & 0xfc00) >> 7) + 7;
$COLOR[1] = $red * 65536 + $green * 256 + $blue;
}
sk89q 14-Mar-2008 09:14
Loads a file based on its filetype and returns false if it fails.

<?php
function imagecreatefromfile($path, $user_functions = false)
{
   
$info = @getimagesize($path);
   
    if(!
$info)
    {
        return
false;
    }
   
   
$functions = array(
       
IMAGETYPE_GIF => 'imagecreatefromgif',
       
IMAGETYPE_JPEG => 'imagecreatefromjpeg',
       
IMAGETYPE_PNG => 'imagecreatefrompng',
       
IMAGETYPE_WBMP => 'imagecreatefromwbmp',
       
IMAGETYPE_XBM => 'imagecreatefromwxbm',
        );
   
    if(
$user_functions)
    {
       
$functions[IMAGETYPE_BMP] = 'imagecreatefrombmp';
    }
   
    if(!
$functions[$info[2]])
    {
        return
false;
    }
   
    if(!
function_exists($functions[$info[2]]))
    {
        return
false;
    }
   
    return
$functions[$info[2]]($path);
}
?>
domelca at terra dot es 05-Mar-2008 11:04
function ImageCreateFromBMP($filename)

don't work with bmp 16 bits_per_pixel

change pixel generator for this

elseif ($BMP['bits_per_pixel'] == 16)

   $COLOR = unpack("v",substr($IMG,$P,2));
   $blue  = ($COLOR[1] & 0x001f) << 3;
   $green = ($COLOR[1] & 0x07e0) >> 3;
   $red   = ($COLOR[1] & 0xf800) >> 8;
   $COLOR[1] = $red * 65536 + $green * 256 + $blue;
}
scottlindh pwnd at hushmail dot com 19-Aug-2007 05:40
to install on UBUNTU do the following..

sudo apt-get install php5-gd

After installing the package I restarted the apache

sudo /etc/init.d/apache reload

goto love ubuntu...
Sohel Taslim 24-Jul-2007 07:22
It is easy and simple example to convert Text to Image with selected font.
It helps me to display Bangla text as image when users have no installed bangla font.

I hope it can help you too!

<?php
//Kip the font file together or write proper location.
makeImageF("Life in PHP.","CENTURY.TTF");

function
makeImageF($text, $font="CENTURY.TTF", $W=200, $H=20, $X=0, $Y=0, $fsize=18, $color=array(0x0,0x0,0x0), $bgcolor=array(0xFF,0xFF,0xFF)){
       
   
$im = @imagecreate($W, $H)
        or die(
"Cannot Initialize new GD image stream");
       
   
$background_color = imagecolorallocate($im, $bgcolor[0], $bgcolor[1], $bgcolor[2]);        //RGB color background.
   
$text_color = imagecolorallocate($im, $color[0], $color[1], $color[2]);            //RGB color text.
           
   
imagettftext($im, $fsize, $X, $Y, $fsize, $text_color, $font, $text);
   
   
header("Content-type: image/gif");               
    return
imagegif($im);
}

?>
Pawka 14-Apr-2007 08:31
To make the gd library available for Apache2/mod_php on Fedora Linux the following commands are required:
1) yum install php-gd
2) /etc/init.d/httpd restart
php dot net at kingsquare dot nl 07-Jan-2007 09:02
To create an image from a PSD file, you can use imagecreatefrompsd(). It is available for download here: http://www.kingsquare.nl/phppsdreader/ . It returns a resource like the other ImageCreateFrom - functions
tc_ at anti dot gmx dot ch dot spam 18-Sep-2006 11:50
Small piece of code to display a preview of a file in an image (usefull for thumbnail view of a folder etc.)

<?php
$file
= "test.txt"; //FILEADDRESS
$size = "100"; //IMAGE SIZE
$data = file($file);
$im = @ imagecreate($size, $size) or die();
$bc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
$lines = (int) $size / 10;
for (
$t = 0; $t < $lines; $t++)
{
   
imagestring($im, 3, 4, 4, $data[$t], $tc);
   
imagestring($im, 3, 4, 4 + ($t * 10), $data[$t], $tc);
}
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>

Maybe it will be usefull for somebody.
Ortreum 06-Sep-2006 11:45
Use image as javascript test

There are two files - an image and an executive file. The image is loaded if the JavaScript is enabled. After (!) the page is loaded $_SESSION['js'] + 0 is 0 or 1.

the image (js.img.php):
<?php
session_start
();
$_SESSION['js'] = 1;
header('Content-type: image/gif');
imagegif($im = imagecreate(1, 1));
imagedestroy($im);
?>

the html file (file.php):
<html>
<head>
<!--
<script type="text/javascript">
    var img = new Image();
    img.src = "js.img.php";
</script>
-->
</head>
<body>
<?php
if ($_SESSION['js'] . '' == '') echo 'Not checked for JavaScript.';
else if (
$_SESSION['js'] + 0 == 0) echo 'JavaScript is disabled.';
if (
$_SESSION['js'] + 1 == 1) echo 'JavaScript is enabled.';
?>
</body>
</html>

There are much more hidden actions that you can do by "pictures".
help at nanomc dot com 08-Nov-2005 05:29
// A simple XY graph

<html>
<head>
       
 <title>XY Graph</title>

<h2>Practice XY Graph</h2>
</head>
<body>

<?php
$left
= 0;
$top = 0;
$x_size = 400;
$y_size = 400;

$char_width = 8;
$char_height = 11;

$x_start = $x_left + 100;
$y_start = $top + $char_height * 1.5;
$x_end = $x_start + $x_size;
$y_end = $y_start + $y_size;
$right = $x_start + $x_size + 40;
$bottom = $y_start + $y_size + $char_height * 1.5;

$graph_n = 100;
for(
$i = 0; $i < $graph_n; $i++ )
    {
   
$graph_x[$i] = $i;
   
$graph_y[$i] = $i * $i;
    }

   
$min_x = 9e99;
   
$min_y = 9e99;
   
$max_x = -9e99;
   
$max_y = -9e99;

   
$avg_y = 0.0;
   
    for(
$i = 0; $i < $graph_n; $i++ )
        {
        if(
$graph_x[$i] < $min_x )
           
$min_x = $graph_x[$i];

        if(
$graph_x[$i] > $max_x )
           
$max_x = $graph_x[$i];

        if(
$graph_y[$i] < $min_y )
           
$min_y = $graph_y[$i];

        if(
$graph_y[$i] > $max_y )
           
$max_y = $graph_y[$i];

       
$avg_y += $graph_y[$i];
        }
   
   
$avg_y = $avg_y / $graph_n;

   
$min_x = 0;
   
$min_y = 0;
   
$max_x += $max_x * 0.05;
   
$max_y += $max_y * 0.05;

$image = ImageCreate($right - $left, $bottom - $top);
$background_color = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 233, 14, 91);

$grey = ImageColorAllocate($image, 204, 204, 204);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$red = imagecolorallocate($image, 255, 0, 0);

imagerectangle($image, $left, $top, $right - 1, $bottom - 1, $black );
imagerectangle($image, $x_start, $y_start, $x_end, $y_end, $grey );

for(
$i = 0; $i < $graph_n; $i++ )
   {
  
$pt_x = $x_start + ($x_end-$x_start)*($graph_x[$i]-$min_x)/($max_x-$min_x);
  
$pt_y = $y_end - ($y_end - $y_start)*($graph_y[$i]-$min_y)/($max_y-$min_y);

 
//  imagesetpixel( $image, $pt_x, $pt_y, $black );
  
imagechar($image, 2, $pt_x - 3, $pt_y - 10, '.', $black);
   }

$string = sprintf("%2.5f", $max_y);
imagestring($image, 4, $x_start - strlen($string) * $char_width, $y_start - $char_width, $string, $black);

$string = sprintf("%2.5f", $min_y);
imagestring($image, 4, $x_start - strlen($string) * $char_width, $y_end - $char_height, $string, $black);

$string = sprintf("%2.5f", $min_x);
imagestring($image, 4, $x_start - (strlen($string) * $char_width)/2, $y_end, $string, $black);
   
$string = sprintf("%2.5f", $max_x);
imagestring($image, 4, $x_end - (strlen($string) * $char_width) / 2, $y_end, $string, $black);

$x_title = 'x axis';
$y_title = 'y axis';

imagestring($image, 4, $x_start + ($x_end - $x_start) / 2 - strlen($x_title) * $char_width / 2, $y_end, $x_title, $black);

imagestring($image, 4, $char_width, ($y_end - $y_start) / 2, $y_title, $black);

header('Content-type: image/png');
$filename = sprintf("%d.png", time());
ImagePNG($image,$filename);
ImageDestroy($image);

printf("<img src='%s'> ", $filename);
?>

</body>
</html>
DHKold 15-Jun-2005 09:52
to create an image from a BMP file, I made this function, that return a resource like the others ImageCreateFrom function:

<?php
/*********************************************/
/* Fonction: ImageCreateFromBMP              */
/* Author:   DHKold                          */
/* Contact:  admin@dhkold.com                */
/* Date:     The 15th of June 2005           */
/* Version:  2.0B                            */
/*********************************************/

function ImageCreateFromBMP($filename)
{
 
//Ouverture du fichier en mode binaire
  
if (! $f1 = fopen($filename,"rb")) return FALSE;

 
//1 : Chargement des entêtes FICHIER
  
$FILE = unpack("vfile_type/Vfile_size/Vreserved/Vbitmap_offset", fread($f1,14));
   if (
$FILE['file_type'] != 19778) return FALSE;

 
//2 : Chargement des entêtes BMP
  
$BMP = unpack('Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel'.
                
'/Vcompression/Vsize_bitmap/Vhoriz_resolution'.
                
'/Vvert_resolution/Vcolors_used/Vcolors_important', fread($f1,40));
  
$BMP['colors'] = pow(2,$BMP['bits_per_pixel']);
   if (
$BMP['size_bitmap'] == 0) $BMP['size_bitmap'] = $FILE['file_size'] - $FILE['bitmap_offset'];
  
$BMP['bytes_per_pixel'] = $BMP['bits_per_pixel']/8;
  
$BMP['bytes_per_pixel2'] = ceil($BMP['bytes_per_pixel']);
  
$BMP['decal'] = ($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] -= floor($BMP['width']*$BMP['bytes_per_pixel']/4);
  
$BMP['decal'] = 4-(4*$BMP['decal']);
   if (
$BMP['decal'] == 4) $BMP['decal'] = 0;

 
//3 : Chargement des couleurs de la palette
  
$PALETTE = array();
   if (
$BMP['colors'] < 16777216)
   {
   
$PALETTE = unpack('V'.$BMP['colors'], fread($f1,$BMP['colors']*4));
   }

 
//4 : Création de l'image
  
$IMG = fread($f1,$BMP['size_bitmap']);
  
$VIDE = chr(0);

  
$res = imagecreatetruecolor($BMP['width'],$BMP['height']);
  
$P = 0;
  
$Y = $BMP['height']-1;
   while (
$Y >= 0)
   {
   
$X=0;
    while (
$X < $BMP['width'])
    {
     if (
$BMP['bits_per_pixel'] == 24)
       
$COLOR = unpack("V",substr($IMG,$P,3).$VIDE);
     elseif (
$BMP['bits_per_pixel'] == 16)
     { 
       
$COLOR = unpack("n",substr($IMG,$P,2));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 8)
     { 
       
$COLOR = unpack("n",$VIDE.substr($IMG,$P,1));
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 4)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if ((
$P*2)%2 == 0) $COLOR[1] = ($COLOR[1] >> 4) ; else $COLOR[1] = ($COLOR[1] & 0x0F);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     elseif (
$BMP['bits_per_pixel'] == 1)
     {
       
$COLOR = unpack("n",$VIDE.substr($IMG,floor($P),1));
        if     ((
$P*8)%8 == 0) $COLOR[1] =  $COLOR[1]        >>7;
        elseif ((
$P*8)%8 == 1) $COLOR[1] = ($COLOR[1] & 0x40)>>6;
        elseif ((
$P*8)%8 == 2) $COLOR[1] = ($COLOR[1] & 0x20)>>5;
        elseif ((
$P*8)%8 == 3) $COLOR[1] = ($COLOR[1] & 0x10)>>4;
        elseif ((
$P*8)%8 == 4) $COLOR[1] = ($COLOR[1] & 0x8)>>3;
        elseif ((
$P*8)%8 == 5) $COLOR[1] = ($COLOR[1] & 0x4)>>2;
        elseif ((
$P*8)%8 == 6) $COLOR[1] = ($COLOR[1] & 0x2)>>1;
        elseif ((
$P*8)%8 == 7) $COLOR[1] = ($COLOR[1] & 0x1);
       
$COLOR[1] = $PALETTE[$COLOR[1]+1];
     }
     else
        return
FALSE;
    
imagesetpixel($res,$X,$Y,$COLOR[1]);
    
$X++;
    
$P += $BMP['bytes_per_pixel'];
    }
   
$Y--;
   
$P+=$BMP['decal'];
   }

 
//Fermeture du fichier
  
fclose($f1);

 return
$res;
}
?>
05-Jan-2005 07:30
This is how you can create a thumbnail with maximum height and width. This way it will fit nicely in a gallery table. In this example $im is the source image
<?
   
//calculate thumb size
           
$ow = imagesx($im);
           
$oh = imagesy($im);
           
$maxh = 100;
           
$maxw = 150;
           
$new_h = $oh;
           
$new_w = $ow;

            if(
$oh > $maxh || $ow > $maxw){
              
$new_h = ($oh > $ow) ? $maxh : $oh*($maxw/$ow);
              
$new_w = $new_h/$oh*$ow;
            }

           
//create dst image
           
$dst_img = ImageCreateTrueColor($new_w,$new_h);
           
//resize and copy image
           
ImageCopyResized($dst_img, $im, 0,0,0,0, $new_w, $new_h, ImageSX($im), ImageSY($im));   
           
$function_image_new($dst_img,$galdir.$file);
?>
info at henrici dot biz 13-Aug-2004 05:27
To make the gd library available for Apache2/mod_php on Gentoo the following steps are required (and sufficient):
1) Add a USE flag for gd in "/etc/make.conf":
   USE="<other use flags> gd"
   A list of all of the USE flags can be found at: http://www.gentoo.org/dyn/use-index.xml
2) Re-emerge mod_php by executing "emerge mod_php"
3) Restart apache2 by executing "/etc/init.d/apache2 restart"

You need not uncomment the "extension=php_gd2.dll" line in "php.ini" as mentioned in a previous posting (since that line is only relevant for Windows).
cstevens at gencom dot us 20-Apr-2004 11:56
Here's how I resolved the "Fatal error: Call to undefined function: imagecreate()" error using Gentoo:

1) add a USE flag for gdb in /etc/make.conf
 
   USE="3dnow avi [whatever else you have] gdb"

   Note: here's a list of all of the USE flags:
   http://www.gentoo.org/dyn/use-index.xml

2) unmerged mod_php

*Note* It could take awhile to "remerge" as it may need to compile several dependancies...do this during not production hours and have a backup if you absolutely cannot have downtime

   emerge -C mod_php

3) emerged mod_php

   emerge -p mod_php
    # find out if it's going to take awhile

4) edit /etc/php/apach2-php4/php.ini
     uncomment the "extension=php_gd2.dll" line

5) Restart apache2

    /etc/init.d/apache2 restart

Hope this helps!

--
Cooper Stevenson
GenCom
http://www.gencom.us
foxlovr1 at cox dot net 12-Apr-2004 11:11
You can set it up so you can write a text which is controled from the URL.

Like this...

<?php
header
("Content-type: image/png");
$im = @imagecreate(128, 16) or die("Cannot Initialize new GD image stream");
$bc = imagecolorallocate($im, 0, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 1, 4, 4$t, $tc);
imagepng($im);
imagedestroy($im);
?>

Then when you use the image, use this...

<img src="http://www.yourdomain.com/stuff/cool_image.php?t=Text">

This will create an image with a cyan background, and in black text it will say "Text"

EMail me at foxlovr1@cox.net or aquafox90@yahoo.com for comments/questions.
sjnorrie at hotmail dot com 03-Dec-2003 05:07
On windows.

When you get undefined function image* it means the gd library isnt being used. Check the php.ini file. Make sure the php_gd.dll isnt commented out. Restarting apache should result in the image functions working.
tassader at xmail dot cz 21-Oct-2003 03:55
It seems that imagecreate creates a grayscale image with gd2
tore at kyberheimen dot com 29-Aug-2002 09:33
GD UPGRADE PROBLEM:
I used imagecreate with gd 1.6 to make resized images of big photos. Then, when using the same script on gd 2.0, the colors got all wrong.
Using imagecreatetruecolor() fixed the problem!
php at silisoftware dot com 17-May-2002 05:17
Don't try and create an image with a really large width and/or height. First, $width x $height is (at least) the bytes of memory that need to be allocated. Secondly, if you exceed the range of int for either parameter, Apache crashes (before allocating any memory).
Don't ask how I figured this out ;)
robert at scpallas dot de 08-Feb-2002 02:09
The function ImageCreate() creates a PALETTE image.
The function ImageCreateFromJPEG() creates a TRUE COLOR image.

When you use GD 2.0 you will get an error when you try to use ImageCopy()
with one True color image and one Palette image.

Be sure to convert one of the images before using ImageCopy() or use ImageCreateTrueColor() instead of ImageCreate().
andrus at vnet dot ee 08-Jul-2001 04:09
Dont forget to use ImageDestoy after showed image. I forgot it, my webpage had about 15 pictures what was generated by GD and webserver died very fastly (server was Dual Xeon 900MHz and 4G RAM :[[ ). It died cos of not enough memory :\
wouter at rusman dot net 06-Jul-2001 12:31
to compile GD support on some linux distributions you have to include these with the ./configure command :
--with=gd=/usr --with-jpeg=/usr --with-png=/usr --with-zlib=/usr

(i had to include this on Redhat 6.1)
this becase the libraries are in /usr/lib instead of /lib
altype at bellsouth dot net 19-Apr-2001 11:13
ImagePNG($pic,"./dir/pic.png");

To save image as a file, I had to create a directory "dir" and CHMOD 777 to give read, write, and execute permission for everyone - or it wouldn't save it...
removethisbeforebayet at removethistooenseirb dot fr 08-Feb-2001 09:00
Pay attention to a problem I encountered.
Png images created with the PHP function seems to be very badly recognised by old browsers, especially -well, mainly - by IE 4.0 (crash of the browser).
I think this is probably due to the fact that, when IE 4.0 was released, the png format was either very recent, either not very used, because of the widespread jpeg and gif formats...
So, if you plan to dynamically create images for a web site to be seen by IE 4.0 users, think of it...
May'be the jpeg format will do the job better.
kim at kimmccall dot org 13-Dec-2000 10:22
How I fixed my "undefined function imagecreate()" problem:
I was having the same problem many have reported where most of PHP worked but the gd functions didn't.  I'd installed the RedHat rpm php-4.0.1pl2.  It said (phpinfo.php) that it had been configured with the '--with-gd=shared' option.  In my /usr/lib directory, I had both libgd.so.1.8.3 and libgd.a.  I decided to compile with the static library instead, so I downloaded the sources and built with all the same configuration flags except that I used --with-gd=/usr.  Now my gd library works!!!
phantom at t-p-l dot com 18-Feb-2000 05:11
after some experimenting I've come to the following concusions:
1) if you don't have GD when compiling PHP you have to recompile PHP to enable GD support..
2) imagepng() works the same way as imagegif() just creates png's ..
3) the first color you imagecolormatch becomes the background.. hmm..

hope this helps anyone =)
scott at mha dot ca 09-Feb-2000 05:49
okay .. listen .. if you are getting fatal errors attempting to use ImageCreate() then you most probably do not have GD installed .. Likewise, if you are getting fatal errors attempting to use ImageGIF() then you are most probably using a version of GD which does not support the GIF format.  Notice that in both of these examples that the problem has nothing to do with PHP or whether or not PHP "supports" any particular function.  You must have the GD image library installed to make images work.  It is as simple as that.  Furthermore, although current versions of GD do NOT support the GIF format, I know that old versions of GD (ie. version 1.3) do support the GIF format but they are probably illegal to use now because of the fuss that unisys has been making about it.

 
show source | credits | sitemap | contact | advertising | mirror sites