MultiServis.Net //PHP El Kitabı

<<= Önceki Sayfa | PHP Ana Sayfa | Sonraki Sayfa =>>

PHP ile basit bir grafik yaratilmasi islemi (GIF,PNG ve JPEG) Yazar: Serkan Tarih: 01/03/02

Problem:Cok basit de olsa bir grafik yaratmak ve onu sayfalarinizda dinamik olarak goruntulemek istiyorsunuz.

Cozum:Bunun icin size ornek bir kod gostermekten baska cozum yolu yok.Simdi adim adim bir grafik yaratalim...

Yanlizca bir tek fonksiyonu kullanmak ile grafigimiz yaratilacak.Geriye kalan fonksiyonlar ona sekil ve renk verecek.

Once ImageCreate () fonksiyonu ile grafik yaratilmali ve ardindan da sistemin ozelliklerine gore ImagePng () , ImageJpeg , veya ImageGif () fonksyionlarindan biri kullanilmalidir.

> <?php

> header ("Content-type: image/jpeg");
> $grafik = ImageCreate (400,20);

> $kirmizi = ImageColorAllocate($grafik,255, 0, 0);
> $beyaz = ImageColorAllocate($grafik, 255, 255, 255);

> ImageString($grafik, 3, 3, 3, "Yurtta Sulh Cihanda Sulh ..... M.Kemal Ataturk", $beyaz);
> ImageJpeg($grafik);

> ImageDestroy($grafik); //Hafizayi temizle

> ?>

Ornek Dosya

http://www.turk-php.com/ornekler/grafik.php

Aciklama :

3.Satir : HTTP basligina gelen verinin GIF formatinda resim oldugunu yaz.Browser boylece ne geldigini anlasin
4.Satir : GD kutuphanesine baglantili resim verisini yarat.Boylece GD nin diger fonksiyonlari bu verinin uzerinde kullanilabilcektir.GD 10.uncu satira kadar resmin JPEG formatinda yaratilacagini bilmeyecek.
6.Satir: Arkaplan rengini ayarla.Bu resim icin ben kirmizi sectim.
7.Satir:Onplan rengini ayarla.Bu resim icin ben beyaz sectim.
9.Satir:x pixeli 3, y pixeli 3 ve sectigim yaziyi resme yazdiriyorum.Bu yazinin rengini $beyaz degiskeni ile ayarliyorum.
10.Resmi GIF,JPEG,PNG gibi formatlara donustur ve Browser'a ciktisini yolla...
12.Hafizayi temizle

Bu ornekte grafigi olusturup browsera gonderdik( STDOUT).Bunun yerine bir ikinci alternatif olarak dosya sistemine kayit da edebilirdik.Bunun icin asagidaki kodlarda goruldugu gibi opsiyonel ikinci argumenti saglayarak dosyayi kayit ediyorum.

> <?php

> $dosya = "grafik_dosyam.jpeg";

> $grafik = ImageCreate (400,40);

> $kirmizi = ImageColorAllocate($grafik,255, 0, 0);
> $beyaz = ImageColorAllocate($grafik, 255, 255, 255);

> ImageString($grafik, 3, 4, 3, "Bu dosyayi $dosya adiyla kayit ediyorum...", $beyaz);
> ImageJpeg($grafik, $dosya);

> ImageDestroy($grafik); //Hafizayi temizle

> echo "Dosya yaratildi:Gormek icin <a href='grafik_dosyam.jpeg'>tiklayiniz</a>";
> ?>

Ornek Dosya

http://www.turk-php.com/ornekler/grafik_kayit.php

Bu konu hakkindaki butun gorus ve sorularinizi asagidaki mail adresime gonderebilirsiniz.

Saglicakla kalin,

Serkan Hadi Ceylani
serkan@turk-php.com

Doruk Aydogan (05/25/01)
--BILGI TAMAMLAMA--

* En net Görüntü, PNG dosya düzeninde elde edilir.
* Önceden var olan bir resimin üzerine yazi yazmak için, asagidaki kodlar kullanilir.
<?
Header("Content-type: image/png");
$grafik=ImageCreateFromPNG("resim.png");
$yazirengi = ImageColorAllocate($grafik, 255, 255,255);
ImageString($grafik, 3, 5, 1, "Istikbal Göklerdedir", $yazirengi);
ImagePNG($grafik);
ImageDestroy($grafik);
?>
*resim.png isimli bir grafik dosyasi, önceden olusturulmalidir.
www.dorukaydogan.net

<<= Önceki Sayfa | PHP Ana Sayfa | Sonraki Sayfa =>>