Anasayfa > Programlama > PHP > Php ile Grafik ( GD )
Hazırlanıyor..
Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar

Php ile Grafik ( GD )



 

⇒GD DESTEĞİ

Windows sistemlerde GD desteği için php.ini dosyamızdaki ;extension_php_gd.dll satırın başındaki noktalı virgülü kaldırmamız gerekir.

Linux sistemlerde ise www.boutelll.com/gd adresinden, dosyaları indirip derlememiz gerekir.

⇒Grafik Oluşturuyoruz

Grafik oluştururken Php ye bu sayfayı Grafik olarak kullancağımza dair bilgi vermemiz gerekir, bunun içinde header fonksiyonlarından yararlanıcaz.


<?
header("Content-type: image/jpeg");
?>



header için type olarak image/jpeg kullandık, bu başlık jpeg formatında bir resim oluşturmak için png için image/png kullanabiliriz.

Şimdi bir tane resim oluşturalım.

Resim alanı oluşturmak için imagecreate(); ve (Jpeg formatı için)  imagejpeg();, kullandığımız belliği boşaltmak içinde imagedestroy(); fonksiyonlarını kullanıyoruz.

<?
header("Content-type: image/jpeg");
$resim  = imagecreate(250,250); // Bu fonksiyonla resim alanımızın boyutlarını belirledik.
imagejpeg($resim); // ve burda da boyutlarını belirlediğimiz resmi oluşturduk.
imagedestroy($resim); // Burda ise Resim oluştukdan sonra bellekte yer kaplar. Bellekti kapladığımız yeri silmek için bu fonksiyonu kullandık.
?>


NOT: Resim oluşturken renk belirlemediğimizde Php otomatik olarak Siyah rengini kullanır.
Bu yüzden bu php kodumuzu çalıştırdığımzda 250x250 formatında siyah bir resim oluşur.

⇒Renk kullanımı


Renk kullanmak için imagecolorallocate(); fonksiyonunu kullanıyoruz.

Kullanımı: $renk =  imagecolorallocate($resim,$R,$G,$B);

NOT: Renk oluştururken RGB ( Red Green Blue ) renk sistemini kullanıcaz  RGB hakkında bilgi için http://en.wikipedia.org/wiki/RGB adresini inceleyebilirsiniz.

⇒Resmi boyamak

<?
header("Content-type: image/jpeg");
$resim  = imagecreate(250,250);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );

imagefill ( $resim,0,0,$kirmizi );

imagejpeg($resim);
imagedestroy($resim);
?>


imagefill();  İstediğimiz koordinatı istediğimiz renge boyamak için kullanılır. Eğer komple boyamak istiyorsak 0,0 koordinatlarını veriyoruz.

Bu kodumuzun çıktısı 250x250 formatlarında kırmızı bir resim olucaktır.

⇒Resimde obje kullanmak

Obje olarak Dikdörtgen, Daire/Elips, Çizgi, Yazı  kullanımına değincez.

►Dikdörtgen

Dikdörgen oluşturmak için imagefilledrectangle(); fonksiyonunu kullanıyoruz.

Kullanımı: imagefilledrectangle ( $resim, $x1,$y1,$x2,$y2,$renk );


<?
header("Content-type: image/jpeg");
$resim  = imagecreate(250,250);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );
$mor = imagecolorallocate( $resim, 100,50,100 );
imagefill ( $resim,0,0,$kirmizi );

imagefilledrectangle($resim,50,50,150,150,$mor);

imagejpeg($resim);
imagedestroy($resim);
?>


Bu kod ile  X düzleminde 50 ye 150 ve y düzleminde 50 ye 150 arasındaki kalan alan mor renginde dikdörtgen yerleştirdik.

NOT: Koordinat belirlerken matematik te bildiğimiz koordinat sistemi ile aynı mantıkla koordinat belirliyoruz.

Sağdan sola  -<------->+     x koordinati

yukarıdan aşşağıya y koordinatı ( yukarısı + aşağısı -  )

►Daire/Elips

Daire veya elips oluşturmak için imagefilledellipse(); fonksiyonunu kullanıyoruz.

Kullanımı: imagefilledellipse ( $resim, $x,$y,$W,$H,$renk );

$x ve $y değerleriyle oluşturacağımız elipsin merkez koordinatlarını, $W değişkeniyle elipsin eninin boyunu $H ilede Yukseklik boyunu ayarlıyoruz ( Haliyle Daire oluşturmak için $W ile $H nin eşit olması gerekir. )

300x300 formatında bir resimin tam ortasına yarıçapı 50 olan bir çember yerleştirelim.

<?
header("Content-type: image/jpeg");
$resim  = imagecreate(300,300);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );
$mor = imagecolorallocate( $resim, 100,50,100 );
imagefill ( $resim,0,0,$kirmizi );

imagefilledellipse($resim,150,150,50,50,$mor);

imagejpeg($resim);
imagedestroy($resim);
?>


►Çizgi

Çizgi (line ) oluşturmak için gerekli fonksiyon imageline();

Kullanımı: imageline ( $resim, $x1,$y1,$x2,$y2,$renk );

300x300 formatında bir resme 50.50  koordinatlarından 250.250 koordinatlarına giden bir çizgi oluşturalım.

<?
header("Content-type: image/jpeg");
$resim  = imagecreate(300,300);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );
$mor = imagecolorallocate( $resim, 100,50,100 );
imagefill ( $resim,0,0,$kirmizi );

imageline($resim,150,150,50,50,$mor);

imagejpeg($resim);
imagedestroy($resim);
?>


►Yazı

Resmimizde istediğimiz koordinata yazı yazmamız mümkündür bunun için imagestring(); fonksiyonunu kullanıyoruz.

Kullanımı: imagestring($resim,$font(int),$x,$y,"Yazı",$renk);

300x300 formatında bir resme 200.200 koordinatlarından başlayan Mor renginde oCRaCy yazalım

<?
header("Content-type: image/jpeg");
$resim  = imagecreate(300,300);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );
$mor = imagecolorallocate( $resim, 100,50,100 );
imagefill ( $resim,0,0,$kirmizi );

imagestring($resim,1,200,200,"oCRaCy",$mor);

imagejpeg($resim);
imagedestroy($resim);
?>


Kolay Gelsin

Daha ayrıntılı bilgi için > http://tr.php.net/manual/en/ref.image.php
oCRaCy [ ocracy@msn.com ]


Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.

Digg this Post! Add Post to del.icio.us Bookmark Post in Technorati Furl this Post!
Eklenme tarihi: 7-9-2006

Bu Makaleye Verilen Puan:    Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar
Bu Makaleye Puan Ver  

Bölüm Başlık Kullanıcı Yorumları


Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !

Yorum Ekle  

Bölüm Başlık İlgili Dökümanlar

Döküman / Makale - PHP ile Grafik Örneği PHP ile Grafik Örneği
Bircok konuda oldugu gibi PHP, Web uygulamalari ve diger tüm bilgisayar ve teknoloji alanlarinda"Türkce Kaynak" sorunumuzun oldugu acik bir gercek. Türkce kitaplarda ve ...

Animasyon Görüntülü Ders - Grafik Çizimi Grafik Çizimi
Günlük çubuk fiyat grafikleri, bugün en çok kullanılan fiyat grafiği cinsidir. Teknik analizciler yine de çubuk grafiklerinin yanında diğer grafikleri de kull...

Animasyon Görüntülü Ders - Baş ağrıtan grafik hatası! Baş ağrıtan grafik hatası!
Unibody kasaya sahip 17 inçlik MacBook Pro'lara sahip olan sayısız kişi muazzam bir grafik hatasından şikayetçi oluyor. Durumun üretici Apple'dan mı yoksa ekran kartı üreticisi Nvidia...

Animasyon Görüntülü Ders - 785G'ye grafik dopingi! 785G'ye grafik dopingi!
AMD yakında kitle pazarına hitap eden yeni bir anakart yongası yayımlayacak. AMD-785 yonga seti, DirectX 10.1 desteği olan tümleşik bir grafik yongasıyla beraber gele...

Animasyon Görüntülü Ders - Dizüstünde grafik canavarı! Dizüstünde grafik canavarı!
Dizüstü bilgisayarları grafik yönünden geliştirmek için firmaların birbirleriyle yarıştığı bir zamanda MSI "Grafik Yükseltme Çözümü" ile karşımıza çıkıyor.MSI, içinde ATI...

Reklam Netinternet
Gizlilik | Copyright © 2006-2009 ™ Tüm hakları saklıdır.
Powered by BilgiPortal v2.2
Frasb Etiler WebTasarım Web Tasarım