lostyazilim
tr.link

PHP Pasta Dilimi Grafik Yapmak

3 Mesajlar 4.245 Okunma
acebozum
tr.link

mercanshark mercanshark WM Aracı Kullanıcı
  • Üyelik 02.07.2014
  • Yaş/Cinsiyet 30 / E
  • Meslek web yazılım
  • Konum İstanbul Anadolu
  • Ad Soyad B** İ**
  • Mesajlar 37
  • Beğeniler 0 / 3
  • Ticaret 0, (%0)
Panellerde Görüyoruz Pasta dilimi veya çubuk şeklinde veriler yüzdelik dilimler halinde gösteriliyor.

PHP amca bize bu işlemi yapmayı sağlayan fonksiyonlar oluşturmuş ancak bu fonksiyonları kullanabilmek için GD kütüphanesi desteğini aktif hale getirmemiz gerekiyor.

GD Kütüphanesi Aktif etmek ;

-PHP.ini dosyasında bulunan bazı uygulamaların destekleri kapalı olarak gelmektedir. Bu destekleri kullanıma açmak için ilk önce PHP.ini dosyasını açıyoruz ve php_gd2.dll satırını arıyoruz. Bu satırı bulduğumuzda önündeki noktalı virgülü ( ; ) kaldırıyoruz.

;extension=php_gd2.dll

Daha sonra sunucumuzu yeniden başlatıyoruz ve kullanıma hazır...



Bir Demo ile nasıl bir görüntü elde edeceğimizi inceleyelim.

Pasta dilim Grafik Örneği




öncelikle pasta dilimi grafikleri yapmadan php ile grafik işlemlerini yaparken kullanacağımız fonksiyonlardan bahsedelim.

1 ) ImageCreate()

" ImageCreate(x_boyutu,y_boyutu) " şeklinde kullanılır. x ve y olarak belirttiğimiz boyutlarda boş bir resim alanı oluşturur.

2 ) imagestring()

Bu fonksiyonla belirtilen metni belirtilen kordinatlara belirtilen renk ile yazmayı sağlar.

" imagestring(img,yazıtipi,x,y,yazı,renk); "

3 ) imagecolorallocate()

Oluşturulan bir grafiğin renklerini belirlemek için kullanılır. " imagecolorallocate(resim,red,green,blue) " şeklinde kullanılır.

4 ) imagearc()

istenilen boyutta yay çizmemizi sağlar.

" imagearc(resim,x_kenar,y_kenar,x_genişlik,y_yukseklik,yay_baslangıç,yay_bitiş,renk) " şeklinde kullanılır.

5 ) imagefilledarc()

Tuvalimiz üzerine belirtilen kordinatlarda yay parçası oluşturur.

İmagefilledarc() Fonksiyonunu kullanırken belirtmemiz gereken stiller vardır.

bunlar;

IMG_ARC_CHORD : düz çizgi ile açı oluşturmaya başlar ve sonlandırır.
IMG_ARC_PIE : yuvarlanmış bir açı oluşturmaya başlar ve sonlandırır.
IMG_ARC_NOFILL : Renk dolgusu istenmeyenana hatların oluşturulması gerektiğinde kullanılır.
IMG_ARC_EDGED : Ana Hatları Oluşturan Çizgilerin iptali için kullanılır.


" imagefilledarc(resim,x,y,x_genişlik,y_yukseklik,başlangıç_açı,bitiş_açı,renk,STİL) " şeklinde kullanılır.



Şimdi Pasta dilimi Grafik İçin hangi kodları yazacağımıza bakalım.



header("content-type:image/gif"); // gif formatında çalışacağımız belirtiyoruz
$pasta=array(50,85,25,35,67); // pasta dilimi parçalarımız
$veri=array("elma","armut","Erik","kiraz","muz");
$toplam=array_sum($pasta); // pasta dilimi parçalarının toplamı , bize %lik dilim hesaplarken lazım olacak
$img=imagecreate(420,240); // 420 px genişliğinde 240px yükseliğinde tuval oluşturuyoruz
$bg=imagecolorallocate($img,0,0,0); // tuvalimizi siyah rengine boyuyoruz
$width=200;
$height=200;
$cx=$width/2;
$cy=$height/2;
$start=0;
for($i=0;$i$e=round(($pasta[$i]/$toplam)*100,2);
$end=round($e*360/100); // pasta dilimi için açı değeri
$rgb1=rand(200,255);
$rgb2=rand(100,255);
$rgb3=rand(0,255);
$renk=imagecolorallocate($img,$rgb1,$rgb2,$rgb3);
imagefilledarc($img,$cx,$cy,$width,$height,$start,$start+$end,$renk,IMG_ARC_PIE);
$start+=$end;

imagefilledrectangle($img,230,10+$i*30,250,30+$i*30,$renk);
imagestring($img,2,256,12+$i*30,$veri[$i].' %'.$e.' ',$renk);
}

imagegif($img);
imagedestroy($img);
?>

Bu yazımda PHP ile grafik oluşturmayı ve Pasta Dilim Grafiği yapmayı gördük bir sonraki yazımda jquery desteği ile efektli bir görünüm sağlamaya çalışacağız...

İyi Çalışmalar Dilerim...
 

 

www.bilalisler.net
Teknoloji,yazılım paylaşım bloğum
wmaraci
reklam

0mh3r 0mh3r Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 21.10.2013
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad Ö** **
  • Mesajlar 273
  • Beğeniler 8 / 34
  • Ticaret 4, (%75)
Eline sağlık hocam
 

 

erolerd erolerd WM Aracı Kullanıcı
  • Üyelik 25.01.2015
  • Yaş/Cinsiyet 44 / E
  • Meslek arkeolog
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 15
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
Elinize sağlık kodları local de çalıştırmaya çalıştığımda veri yolu yanlış olan resimler x şeklinde gösterilir ya, o şekilde bir görüntü alıyorum.
Nedeni ne olabilir acaba?
Php.ini de extension=php_gd2.dll aktif

Teşekkür ederim.
 

 

www.friv-friv-friv.com
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al