Grafik İşlemleri. Grafik işlemleri. - PowerPoint PPT Presentation
Text of Grafik İşlemleri
Slayt 1Sunucu üzerinde GD kütüphanesi yoksa http://www.libgd.org/adresinden temin edilebilir. Kullanlabilecek resim formatlar yüklü olan GD kütüphanesine baldr. Örnein; gd-1.6’dan eski olan GD kütüphanelerinde GIF format kullanlabilirken PNG formatn destekleyememektedir. www.bilisimogretmeni.com Biçim Açklama GIF GD-1.6 dan eski ve GD-2.0.28’den yeni GD kütüphaneleri destekler. JPEG Tüm GD kütüphaneleri desteklemektedir. PNG Sadece GD-1.6’dan yeni GD kütüphaneleri desteklemektedir. Php.ini dosyas içinde bulunan ;extension=php_gd2.dll satrnn önünde bulunan noktal virgül kaldrld zaman GD kütüphanesi aktif olacaktr. php.ini dosyas içerisinde böyle bir satr yoksa extension=php_gd2.dll ifadesini dosyann sonuna ekleyerek kaydedip sunucuyu yeniden balatmak gereklidir. www.bilisimogretmeni.com www.bilisimogretmeni.com Örnek <?php else echo” PNG destei yok <br>”; if(imagestypes()&IMG_JPG) echo “JPG destei var<br>”; else echo”JPG destei yok<br>”; if(imagetypes()&IMG_GIF) echo”GIF destei var <br>”; else echo”GIF destei yok<br>”; ?> Grafik oluturmaya balarken ilk olarak bu sayfann grafik olarak kullanlaca header() fonksiyonu yardmyla belirtilmesi gerekir. <?php www.bilisimogretmeni.com PHP’nin GD kütüphanesi yardmyla sfrdan bir resim oluturulabilir ve istenilirse oluturulan resim istenilen formatta resim dosya olarak kaydedilir. Örnein;s itenizde kullandnz dümeleri her dümeyi ayr ayr oluturmak yerine hazrlayacanz bir fonksiyon ve GD kütüphanesinin fonksiyonlar yardmyla resim ileme programlarna ihtiyaç duymadan gerçek zamanl oluturabilirsiniz. www.bilisimogretmeni.com www.bilisimogretmeni.com imagecreate( ) Boyutlar belirtilen bo bir resim alan oluturur. Fonksiyonun çalmas srasnda hata oluursa FALSE deeri döndürür aksi takdirde resim deikenini döndürür. www.bilisimogretmeni.com Örnek; 100*50 boyutlarnda jpeg formatnda bo bir resim oluturalm. <?PHP Boyutlar belirtilen gerçek renkli bo bir resim alan oluturur. Fonksiyonun Çalmas srasnda hata oluursa FALSE deeri döndürür aksi takdirde resim deikenini döndürür. imagecreate fonksiyonu yerine bu fonksiyonun kullanlmas tavsiye edilmektedir. Kullanm ekli; resim_deikeni =imagecreatetruecolor(genilik_deeri,yükseklik_deeri) Belirtilen boyutlar ve özelliklere göre bir resmi JPEG formatnda oluturmak için kullanlr. Oluturulan resim sadece sayfada görüntülenebilecei gibi dosya olarak saklanabilir. Kullanm ekli; “kalite” istee bal olarak 0(en kötü-en küçük boyut)-100(en iyi-en fazla boyut)arasnda deerler alabilir. Kullanlmas zorunlu deildir. Oluturulan resim dosya olarak saklanmayacaksa veya kalitesi üzerinde deiiklik yaplmayacaksa bir parametre ile çalabilir. www.bilisimogretmeni.com Örnek; 100*50 boyutlarnda jpeg formatnda bo bir resim oluturalm ve a.jpg isminde kaydedelim. <?PHP /* dosyamzla ayn yere oluturacaktr. */ Belirtilen boyutlar ve özelliklere göre bir resmi GIF formatnda oluturmak için kullanlr. Oluturulan resim sadece sayfada görüntülenebilecei gibi dosya olarak saklanabilir. Kullanm ekli; “dosya_ismi”oluturulan resim dosya olarak saklanacaksa kullanlr.Dosya ismi yoluyla birlikte trnak içerisinde yazlr.Kullanlmas zorunlu deildir.Resim dosya olarak saklandnda sayfada görünmeyecektir.Ayrca çarlmas gerekir. www.bilisimogretmeni.com Örnek; 100*50 boyutlarnda jpeg formatnda bo bir resim oluturalm ve a.gif isminde kaydedelim. <?PHP Kullanm ekli; magewbmp(resim_deikeni,dosya_ismi,arka plan) Fonksiyonundan dönen deer. www.bilisimogretmeni.com Örnek; 100*50 boyutlarnda wbmp formatnda ve oluturulan zemin renginde bir resim oluturalm ve sayfada görüntüleyelim. <?php Kullanm ekli; Fonksiyonundan dönen deer. “kalite” sktrma düzeyidir. 0-9 aras deer alr. www.bilisimogretmeni.com Örnek; 100*50 boyutlarnda PNG formatnda bo bir resim oluturalm ve a.png isminde kaydedelim. <?PHP Örnekler olarak resim oluturma fonksiyonlarnda kullanlmtr. www.bilisimogretmeni.com Kullanm ekli; “krmz”, “yeil”, “mavi” renklerin 0-255 arasndaki deerleridir. “renk_deikeni”tanmlanan rengin tutulmas için kullanlan deikendir. Resim oluturmak için imagecreate fonksiyonu kullanlrsa yazlan kodlar içerisindeki ilk tanmlanan renk herhangi bir ileme gerek kalmadan oluturulan resim için zemin rengi olarak kullanlr. www.bilisimogretmeni.com Örnek; <?php Kullanm ekli; “x” balangç noktasnn x konumu. “y”balangç noktasnn Y konumu. “renk_deikeni” imagecolorallocate fonksiyonu ile oluturulan renk deikeni. Oluturulan resmi parametre olarak verilen x ve y koordinatlarndan balayarak dier parametre olan renk ile boyar.Tek bir resim oluturuluyorsa veya tek bir alan boyanacaksa x,y koordinatlar 0,0 verilir. www.bilisimogretmeni.com Örnek; <?php Kullanm ekli; magefilledrectangle(resim_deikeni,x1,y1,x2,y2, renk_deikeni) “x1”dörtgenin balangç noktasnn x koordinat. “y1” dörtgenin balangç noktasnn y koordinat. “x2”dörtgenin biti noktasnn x koordinat “y2”dörtgenin biti noktasnn y koordinat. “renk_deikeni” tanmlanan rengin tutulmas için kullanlan deikendir. www.bilisimogretmeni.com Örnek; 100*50 boyutundaki resim alan içerisine 80*30 ebatnda krmz renkte dörtgen çizelim.. <?php www.bilisimogretmeni.com Örnek: 425*50 boyutundaki resim alan içerisine dört farkl renkte dörtgen çizelim. <?php www.bilisimogretmeni.com imagefilledellipse( ) çi dolu elips çizmek için kullanlr. Daire çizmek için genilik ve yükseklik parametreleri verilmelidir. Kullanm ekli; “x”elipsin merkezinin x koordinat. “y”elipsin merkezinin y koordinat. “genilik” elipsin genilii. “yükseklik”elipsin genilii. www.bilisimogretmeni.com Örnek; 300*100 boyutundaki resim alan içerisine kesim eklinde iki adet elips çizelim. <?php Kullanm ekli; Veya imagecreate fonksiyonundan dönen deer. “noktalar”çokgeni oluturan noktalarn koordinatlarn içeren dizi deiken. “nokta_says”çokgeni oluturan noktalarn saysdr.3’den fazla olmaldr. “renk _deikeni”tanmlanan rengin tutulmas için kullanlan deikendir. www.bilisimogretmeni.com Örnek; <?php $noktalar 1 =array( $noktalar2=array( imagefilledellipse($resim,110,100,155,$beyaz); imagefilledellipse($resim,110,100,155,$beyaz); www.bilisimogretmeni.com steniyorsa yakn koordinatlar verilerek yaplabilir. Kullanm ekli; Veya imagecreate fonksiyonundan dönen deer. “x1” çizginin balangç noktasnn x koordinat. “y1” çizginin balangç noktasnn y koordinat. “x2”çizginin biti noktasnn x koordinat . “y2” çizginin biti noktasnn y koordinat. “renk_deikeni” tanmlanan rengin tutulmas için kullanlan deikendir. www.bilisimogretmeni.com Örnek; <?php magejpeg($resim); //resim oluturuldu Kullanm ekli “yaz_tipi”1,2,3,4,5 deerlerinden birisini alr.Deer büyüdükçe yaz tipi de büyür. “x” yaznn üst sol köesinin x koordinat “y”yaznn üst sol köesinin y koordinat “yaz” oluturulacak yaz. www.bilisimogretmeni.com Örnek; <?PHP 90 derece döndürülmü olarak grafik tabanl yaz yazdrmak için kullanlr. Kullanm ekli; Veya imagecreate fonksiyonundan dönen deer. “yaz_tipi”1,2,3,4,5 deerlerinden birisini alr.Deer büyüdükçe yaz tipi de büyür. “x “yaznn üst sol köesinin x koordinat “y”yaznn üst sol köesinin y koordinat “yazi”oluturulacak yaz www.bilisimogretmeni.com Örnek; Bu örneimiz Ankara Ünv. yazsn yatay ve dikey yazdrlm resmini oluturulur. <?php imagejpeg($resim); imagedestroy($resim); Kullanm ekli; “boyut”yaznn yüksek deeri.GD1’de pixel,GD2’de punto türündedir. “aç”derece cinsinden aç deeri.Soldan saa yaz için aç 0 kullanlr.Dikey için 90 derece kullanlr.stenilen aç deeri girilebilir. “x” yaznn üst sol köesinin x koordinat “y”yaznn üst sol köesinin y koordinat. “renk_deikeni”tanmlanan rengin tutulmas için kullanlan deikendir. “yaz_tipi”kullanlacak yaz tipi ttf uzants ile birlikte yazlr.Yaz tipi dosyas dosyanzla ayn yerde bulunmaldr veya yaz tipi dosyasnn yolu tam olarak belirtilmelidir. “yazi”oluturulacak yaz. www.bilisimogretmeni.com Örnek; " Ankara Ünv. ” yazsn üç farkl ekilde ve iki farkl yaz tipinde grafik tabanl olarak sayfaya yazdralm. Not:Kullanlan iki yaz tipi dosyasn kodlarnzn bulunduu yere kopyalamay Unutmaynz. <?php //Renkleri tanmlayalm $beyaz=imagecolorallocate($resim,255,255,255); $gri=imagecolorallocate($resim,128,128,128); $siyah=imagecolorallocate($resim,0,0,0); $yesil=imagecolorallocate($resim,0,255,0); $mavi=imagecolorallocate($resim,0,0,255); $font=‘broadw.ttf’; //yaz tipi dosyas ismi $font2=‘comic.ttf’; //yaz tipi dosyas ismi magettfext($resim,20,0,27,21,$gri,$font,$metin); //Yazya gölge verelim Buraya kadar anlatlan grafik ilemlerinin tamamnda sfrdan balayarak resimler oluturuldu. Hazr olarak bulunan resimler üzerinde de yukarda bahsedilen ilemlerin tamam uygulanabilir. Resim oluturulurken imagecreate veya imagecreatetruecolor fonksiyonlarn kullanmtk.Hazr resim üzerinde deiiklik yaplacaksa bu fonksiyonlar yerine hazr resmi çalma alan olarak kullanmak için aadaki fonksiyonlar kullanlr. www.bilisimogretmeni.com imagecreatefromgif():Mevcut olan bir gif dosyasn kullanarak resim oluturur. imagecreatefromjpeg():Mevcut olan bir jpeg dosyasn kullanarak resim oluturur. imagecreatefrompng():Mevcut olan bir png dosyasn kullanarak resim oluturur. imagecreatefromwbmp():Mevcut olan bir wbmp dosyasn kullanarak resim oluturur. Bu fonksiyonlarn tamam parametre olarak sadece mevcut dosya adn alr. www.bilisimogretmeni.com Örnek; Aadaki örneimiz png formatnda var olan resim dosyamzn üzerindeki yazy silerek yenisini yazmaktadr. <? Php magefilledrectangle($resim,4,5,145,45,$yesil); magettftext($resim,15,0,20,30,$mavi,”verdana.ttf”, “Kadromuz”) magepng($resim,”butonyeni.png”);