PHP & GD
GD kütüphanesi PHP ile grafik oluşturmanızı sağlar. PHP ile gelen dinamik verilere göre sunucu tarafında png, jpeg gibi dosyalar oluşturabilirsiniz.
GD kütüphanenizin versiyonu 1-6'dan eski ise gif dosyaları üstünde de çalışabilirsiniz. Ancak bildiğim kadarıyla lisans sorunları yüzünden GD 2.0.28'e kadar gif dosyaları üstünde çalışamıyorsunuz. GD 2.0.28'den sonra ise sadece okuma yapabiliyorsunuz.

Bu kadar hikaye yeter biraz kod görelim ve direk örneğe geçelim

<?php
header("Content-type: image/png");

$yazi = "KTU Computer Engineering";
$en = strlen($yazi)*10;
$boy = 50;
$resim = ImageCreate($en, $boy);

$siyah = ImageColorAllocate($resim, 0, 0, 0);
$beyaz = imageColorAllocate($resim, 255, 255, 255);

imagefilledrectangle($resim, 0, 0, $en, $boy, $siyah);
ImageString($resim, 5, 15 , 15 , $yazi , $beyaz);
ImagePNG($resim);
?>
Şimdi kodun önemli yerlerini inceleyelim :

header("Content-type: image/png");
Oluşturulan grafik dosyasını kaydetmeyip direk olarak tarayıcıya çıktı olarak veriyoruz. Tarayıcıya gelen içeriği png resmi olarak değerlendirmesini söylüyoruz aksi halde çıktı olarak aşağıdaki yazıyı alırsınız. Kaydetme işlemini de ayrıca ele alacağız.

�PNG  ��� IHDR���ğ���2���X»Än���PLTE���ÿÿÿ¥Ù�İ���ëIDATx�c`£�xÀØö?±�ı��Ëÿ��Á�,Ş��î�HlàI�1AÂ<hÒ3�Ò ÈÒ(�o�I3İ\ØöGμ��íá��;rüÒ�Û~I?�I³¥İ�Ùf`,s�ÿ¸±�Á3cɾÄvc¸4�ÙmŞ6�Ä<�;��äAf8���"Íø�1 Fí�JĞOì´t�����IEND®B`�
Aşağıda ise $resim değişkenini tipi grafik kaynağı (image resource) olacaktır. Verdiğimiz parametrelerin adındanda anlayabileceğiniz gibi resmin enini ve boyunu belirliyoruz:

$resim = ImageCreate($en, $boy);
Burada ise $resim grafiğinde kullanmak üzere (255,255,255) koduna ait rengi $beyaz değişkenine atıyoruz. (0,0,0) kodunu ise $siyah değişkenine atıyoruz.

$siyah = ImageColorAllocate($resim, 0, 0, 0);
$beyaz = imageColorAllocate($resim, 255, 255, 255);
imagefilledreactange gayet açık isme sahip bir fonksiyon Smile Aldığı parametrelere göre içi boyanmış bir dikdörtgen çizer. Parametreleri ise şu şekilde alıyor:
1- (image resource) Boyayacağı grafiğin kaynağı.
2- (int) Boyamaya başlayacağı yerin resmin sol kenarından uzaklığı - (x offset)
3- (int) Boyamaya başlayacağı yerin resmin üst kenarından uzaklığı - (y offset)
4- (int) Boyayacağı dikdörtgenin eni
5- (int) Boyayacağı dikdörtgenin boyu
6- (int) Boyanacak dikdörtgen 'filled' yani doldurulmuş olacağı için dolduracağı rengide veriyoruz.

imagefilledrectangle($resim, 0, 0, $en, $boy, $siyah);
Bu fonksiyon kaynak olarak aldığı grafiğin üstüne yazı yazmaya yarıyor. Parametreleri ise şu şekilde:

1- (image resource) Yazının yazılacağı grafik kaynağı.
2- (int) Font büyüklüğü (1-5 arası değişiyor)
3- (int) Yazının yazılmaya başlayacağı noktanın resmin sol kenarından uzaklığı (x offset)
4- (int) Yazının yazılmaya başlayacağı noktanın resmin üst kenarından uzaklığı (y offset)
5- (string) Resim üzerine yazılacak yazı.
6- (int) Yazı rengi.

ImageString($resim, 5, 15 , 15 , $yazi , $beyaz);
Burada ise oluşturduğumuz grafik kaynağının direk olarak tarayıcıya gönderilmesini sağlıyoruz.
Eğer grafiği kaydetmek istiyorsanız bu fonksiyona ikinci parametre olarak dosya adı vermeniz gerekmektedir.

ImagePNG($resim);
Ör:
ImagePNG($resim, "KTUCE.png");
Şimdilik yazacaklarım bu kadar


// Yazan: undertaker
// Msn : under_taker_m@hotmail.com
// Tarih 06.07.07
// Kaynak göstermeden (Ç)alıntı yapanın vay haline