PDA

View Full Version : Small Tutorial on GD Library


mr e
03-25-2003, 12:25 AM
This is just something small I threw together to help those people who couldn't figure out how to use this gd library thing :D

I did this on a home server so that's how I'm gonna explain it, otherwise just ask your host to add the gd library. ;)

I did this on Win XP, and I followed TECK's tutorial for installing PHP, Apache, and MySQL.

1) Install/Upgrade to PHP v4.3.2 (RC1 or whatever), I have 4.3.2 RC1


2) Open php.ini and find this line

;extension_dir =

or something like that, uncomment it and change it to the directory you have your extensions in, for me it was

extension_dir = "c:\network\php\extensions"


3) Still in php.ini find this line

;extension=php_gd2.dll

and uncomment it


4) Restart Apache


I assume most of you will just want to add text to a picture so this is how to do it.

Using a .jpg

1) Create a file with this in it

<?
Header("Content-Type: image/jpeg");

$img = ImageCreateFromJpeg("LOCATIONOFIMAGE"); // eg: images/test.jpg or test.jpg

$color = ImageColorClosest($img, 255, 255, 255); // image, rrr, ggg, bbb

ImageString($img, FONTNUMBER, DISTANCEFROMLEFT, DISTANCEFROMTOP, "TEXTTODISPLAY", $color); // the distance is in pixels and the font # is 1 through 5

ImageJpeg($img); // make the image

ImageDestroy($img); // get the image out of memory
?>



Using a .png

1) Create a file with this in it

<?
Header("Content-Type: image/png");

$img = ImageCreateFromPng("LOCATIONOFIMAGE"); // eg: images/test.png or test.png


//a png uses ImageColorAllocate instead of ImageColorClosest like jpeg ueses
$color = ImageColorAllocate($img, 255, 255, 255); // image, rrr, ggg, bbb

ImageString($img, FONTNUMBER, DISTANCEFROMLEFT, DISTANCEFROMTOP, "TEXTTODISPLAY", $color); // the distance is in pixels and the font # is 1 through 5

ImagePng($img); // make the image

ImageDestroy($img); // get the image out of memory
?>


Note: If you wanted to have say...forum stats in this then you would query the stats and then instead of


ImageJpeg($img);
//or
ImagePng($img);

//you would do

ImageJpeg($img, 'FILENAMETOOUTPUT', 100); // last number is the quality
//or
ImagePng($img, 'FILENAMETOOUTPUT');


then you would just do a regulare <img> tag with the image pointing to the FILENAMETOOUTPUT, then do a cron job (i have NO idea how to do [sorry]) to run that script every so often.

For searching purposes: graphic development library

Kars10
03-25-2003, 04:44 AM
Thank you Mr E.!
It looks very simple to me.
I will test it right now!

Kars :)

Boofo
03-25-2003, 06:16 AM
Thank you, sir. ;)

Kars, if you get something going, let me see it. ;)

Kars10
03-25-2003, 07:37 AM
@ Boofo, i will. I work on it right now. :)

Kars

Boofo
03-25-2003, 07:46 AM
Ok, buddy. I'll look forward to it. ;)

filburt1
03-25-2003, 01:17 PM
Full GD reference (you should be using PHP 4.3.0 when using the GD library): http://www.php.net/image

colicab-d
03-25-2003, 01:57 PM
hmm i think i might go update my local host now, as for gd ive got a kool bit of software in the works that uses it, im gonna need some testers ina week or 2, but its a type of animated webcam :D thats customizable and will include user made animations etc :D

any i too will see if i can get a kool sig gd thingy going lol