TurkProgrammers.NeT
Ana sayfa Ana Sayfa | Ana sayfanız yapın | Sık kullanılanlara ekle | Rss/Rdf Besleme| JavaScript
Bölümler
Arşiv
paz sa ça cu cum pa
1234
567891011
12131415161718
19202122232425
262728293031

Mailinizi ekleyin
Haberlere abone olun:

anket: Web Programcılığının Geleceğini nasıl görüyorsunuz
Web Programcılığının Geleceğini nasıl görüyorsunuz?
Önü Fazlası ile açık
ilerde yapacak web sitesi kalmayacak
Hazır sistemler işleri iyice bitirecek
Bugünden daha kötü olamaz
Anket sonuçları | Eski Anketler


email Arkadaşınızın maili | print Yazıcı versionu | comment Yanıtlar (0 Gönder)

Php ile Grafik ( GD )

by Mr. CanaWar on Temmuz 26,2007

image
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

380 Kere okundu

Bu makaleyi beyendinizmi ?

1 2 3 4 5 Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00 (Toplam 5 Oylar)
comment Yanıtlar (0 Gönder)
Çok okunanlar
En Çok Yorumlananlar
Yazarlar