Ekle

GD ile Tuval Üzerine Çizgiler ve Yazılar


GD kütüphanesi ile çizgiler ve yazılarBir önceki dersimizde PHP GD kütüphanesini kullanarak tuvalimizi hazırlamış ve temel yapıyı öğrenmiştik. Bu dersimizde tuvalimizin üzerinde çizgiler çizmeyi ve yazılar yazmayı öğreneceğiz.

Baştan belirtmeliyim ki bu yaptığımız uygulamalar basit düzeyde fonksiyonları tanımamız ve etkin bir şekilde kullanabilmemiz içindir. Bu nedenle aklınıza “böyle bir şeye nerede ihtiyaç duyayım ki?” gelmesin. Bilakis daha öncede belirttiğim gibi bu konu ileri düzey PHP alanında olup talep azda olsa istatistikler, butonların üzerine yazı yazdırmak, insan kontrolü için şifreler üretmek gibi farklı alanlarlarda ihtiyaç doğabiliyor.

Önce bunun için temel iki fonksiyonumuzu öğrenelim;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
header('Content-type: image/png'); // bu sayfanın çıktısının png olduğunu bildirdik
$width 	= 800; // genişlik değeri
$height	= 500; // uzunluk değeri
$im = imagecreatetruecolor($width,$height); // tuvali hazırla
 
//$color dizisine renk atamaları
$color['black'] = imagecolorallocate($im, 0, 0, 0); 
$color['red'] 	= imagecolorallocate($im, 255, 0, 0);
$color['green'] = imagecolorallocate($im, 0, 255, 0);
$color['blue'] 	= imagecolorallocate($im, 0, 0, 255);
$color['white'] = imagecolorallocate($im, 255, 255, 255);
 
imagefill($im, 0, 0, $color['black']); // tuvali siyah renkle doldurduk
 
imageline($im, 0, 0, $width, $height, $color['blue']); // çizgimizi çizdik
 
imagestring($im, 5, 340, 230, 'Aslan Akali', $color['red']); // yazımızı yazdık
 
imagepng($im); // tuvali png formatında göster
imagedestroy($im); // belleği temizle
?>

En anlaşılır haliyle yazmaya çalıştık şimdi kodları açıklayalım. Önceki derste anlattığım kısımları tekrarlamayacağım.

imagecolorallocate() fonksiyonu

imagecolorallocate() bizim renk seçici fonksiyonumuzdur. Yukarıda $color dizisine renk atamaları yaparak başladık ki bunları çizgilerde ve yazılarda kullanabilelim.

Fonksiyonumuz 4 değer alıyor;
1. değer : $im daha önceki dersten bildiğiniz gibi işlem akış numaramızdır.
2. değer : r,g,b sıralamasında ki r yani red(kırmızı) tonu
3. değer : r,g,b sıralamasında ki g yani green(yeşil) tonu
4. değer : r,g,b sıralamasında ki b yani green(blue) tonu

r,g,b alanları 0-255 arası değer alır. 0 siyaha doğrudur, 255 rengin tonunu arttırır.
$color dizisine siyah, kırmızı, yeşil gibi renkler atamış olduk..

imagefill() fonksiyonu

imagefill() fonksiyonu tuvalimize arkaplan rengi atamamızı sağlar.

Fonksiyon 4 değer alır;
1. değer : işlem akış numarası
2. değer : X koordinatında yani sağ-sol düzleminde soldan itibaren rengin başlayacağı koordinat
3. değer : Y koordinatında yani yukarı-aşağı düzlemde yukarıdan rengin başlayacağı koordinat
4. değer : imagecolorallocate ile belirlediğimiz renklerden birini atadık.

imageline() fonksiyonu

imageline() fonksiyonu belirlediğimiz koordinatlar arasında çizgi çizmemizi sağlar. Koordinat yapısını grafik üzerinde hatırlayalım ve bunu kodlama yaparken aklımızda canlandıralım;

Koordinat Düzlemi

Tuvalimiz böyle bir X-Y koordinat düzlemi üzerindedir ve bir çizginin ve ya yazının vb. materyallerin X ve Y başlangıç-bitiş konumlarını belirterek yerleştirmemiz mümkün olmaktadır.

imageline() fonksiyonumuz 6 değer almaktadır;
1. değer : işlem akış numarası
2. değer : başlangıç noktasının X koordinatında ki yeri : 0
3. değer : başlangıç noktasının Y koordinatında ki yeri : 0
4. değer : bitiş noktasının X koordinatında ki yeri : $width = 800
5. değer : bitiş noktasının Y koordinatında ki yeri : $height = 500
6. değer : çizginin rengi

imagestring() fonksiyonu

Bu fonksiyon tuvalin herhangi bir bölgesine bir yazı eklememizi sağlar.

imagestring() fonksiyonu 6 değer alır;
1. değer : işlem akış numarası
2. değer : bu fonksiyona tanımlı 5 font büyüklüğünden 5.dir. 1-5 arası rakamlar verilir.
3. değer : X koordinatında yazının bulunacağı yer $width – 100 = 400
4. değer : Y koordinatında yazının bulunacağı yer $height – 25 = 275
5. değer : yazacağımız yazı
6. değer : yazımızın rengi

Sonuç

Sonuç olarak GD kütüphanesi ile bir tuval üzerinde renk tonlarını ayarlayıp yazı yazmayı ve çizgi çizmeyi öğrendik. Bir daha ki dersimizde bu konuyu biraz daha sofistike hale getireceğiz inşaAllah…

GD kütüphanesi ile tuval üzerine yazı yazdırmak çizgi çizdirmek

PHP Programlama Uzmanı Aslan Akali

Henüz yorum yapılmamış.

Respond

get in on the action.

* Required

Rastgele Yazılar Son Yorumlar

  • aybane sakati Says:

    men azebaycenliyem siteye öğdevimi areştirmek içen girmişem çok yararlanmışem kurğucusna men teşekku...

  • günkut Says:

    çok güzel kaynak...

  • açılay Says:

    süper bir site sizde benim gibi yararlanın...

  • açılay Says:

    merhaba bu siteye ödevimi araştırmak için girdim ve çok yararlandım...

  • Özer Says:

    Yazının üstünden nerede ise 1,5 yıl geçmiş olmasına rağmen, "Söz gider, yazı kalır" deyimini doğrula...

  • tirex31 Says:

    Helal olsun super site yapmıssınız bide zahmet olmazsa su linkleri yenileseniz........

  • Aslan Says:

    "Rica ediyorum" nerede "tam olarak oldum" dediğimi ve bunun haricinde nerede hata yaptığımı bana gös...

  • hede Says:

    ben onların savunucusu değilim, tesadüfen bu konuşmaları gördüm. Bence sen olmadan oldum diyenlerden...

  • Aslan Says:

    Pek çoğunun özgeçmişine göz attımda öyle yazma lüzumu duydum zaten bu yazıyı. Hatta bir tanesi bu si...

  • hede Says:

    senin aynı b.k uz dediğin kişilerin geçmişlerine bir gözat istersen, senin ve senin gibilerin ulaşam...

Etiket Bulutu

Apache Cario kütüphanesi C Programlama echo komutu GD kütüphanesi ImageMagick kütüphanesi MySQL Pardus Pardus 2011 Performans PHP.ini printf komutu SSH komutları WampServer