Koodla Resim İşlemleri Sınıfı

Kullanım Kılavuzu

Nedir?

Methodlar

Temel Methodlar

yukseklik()

genislik()

uzanti()

attr()

maxBoyutlar()

kayitYeri()

farkliKaydet()

sil()

İleri Methodlar

kucugunuYap()

formatDegistir()

yaziEkle()

resimBirlesitir()

resimKes()

Versiyon Geçmişi

Lisans

İletişim

Nedir?

Koodla Resimİşlemleri sınıfı, PHP ile resimler üzerinde işlemler yapılmasını sağlayan bir sınıftır. Bu sınıfın özellikleri arasında şunlar sıralanabilir:
- Resimleri, kendi oranlarını koruyarak, bozulmadan küçültebilir,
- Resimlerin formatlarını değiştirebilir,
- Resmin üzerine yazı eklenmesini sağlayabilir,
- Resimlerden belli alanları kesebilir,
- Ve iki resmi üst üste gelecek şekilde birleştirebilir.

İşlemleri yapabilmek için PHP5 ve GD kütüphanesini gerektirir.

Methodlar

Temel Methodlar

yukseklik()

Resmin yuksekliğini veren methoddur. Örnek kullanımı aşağıdaki gibidir:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim2.jpg");

echo $nesne->yukseklik();

genislik()

Resmin genişliğini veren methoddur. Örnek kullanımı aşağıdaki gibidir:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim2.jpg");

echo $nesne->genislik();

uzanti()

Resmin uzantısını veren methoddur. Örnek kullanımı aşağıdaki gibidir:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim2.jpg");

echo $nesne->uzanti(); // jpg

Eğer ilgili resmin uzantısı jpg, gif veya png ise, sonuç olarak bu uzantı ismini geri döndürür. Resmin uzantısı farklıysa "0" döner.

attr()

Resim hakkında bilgiler geri döndürür. Geleneksel programlamada yer alan attr() fonksiyonu ile aynı işleve sahiptir.

maxBoyutlar()

Küçültülecek resim için maximum genişlik ve maximum yükseklik değerlerini ayarlar. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim2.jpg");

$nesne->maxBoyutlar(200, 200);

Kabul ettiği değerler:
1. genislik: Küçültülecek resmin sahip olacağı maximum genişlik değeridir.
2. yukseklik: Küçültülecek resmin sahip olacağı maximum yukseklik değeridir.

Bu method gerekli ayarlamaları yapar ve geriye herhangi bir değer döndürmez.

kayitYeri()

Üzerinde işlem yapılan resmin, işlem sonrası nereye kaydedileceğini belirten belirten methoddur. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim2.jpg");

$nesne->kayitYeri(("resimler/digerresimler/"));

Kabul ettiği değerler:
1. kayıt yeri: resmin kaydedileceği dizinin ismidir.

Bu method gerekli ayarlamaları yapar ve geriye herhangi bir değer döndürmez.

farkliKaydet()

Üzerinde işlem yapılan resmin ismini değiştirir ve belirtilen dizine kaydeder. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim2.jpg");

$nesne->kayitYeri("resimler/digerresimler/");

if ($nesne->farkliKaydet("yeniisim"))
{
    echo "resim kaydedildi.";
}
else 
{
    echo "HATA!!!";
}

Kabul ettiği değerler:
1. yeni isim: işlem sonrası resim dosyasına verilecek yeni isimdir.
2. kayıt yeri: işlem sonrası resim dosyasının kaydileceği dizindir. kayitYeri() methodu çağrılmazsa, farkliKaydet() methodu çağrılırken bu değer belirlenebilir. Örnek:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim2.jpg");

if ($nesne->farkliKaydet("yeniisim", "resimler/digerresimler/"))
{
    echo "resim kaydedildi.";
}
else 
{
    echo "HATA!!!";
}

Bu method, işlem başarılı olursa 1, olmazsa 0 değerini döndürür.

sil()

üzerinde işlem yapılan resmi silmek için kullanılır. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim1.jpg");

$nesne->sil();

Eğer işlem başarılı olursa 1, başarısız olursa 0, belirtilen dosya yoksa 2 sonucunu döner.

İleri Methodlar

kucugunuYap()

İşlem yapılan resmin, gerçek oranlarını koruyarak küçültülmesini sağlar. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim1.jpg");

$nesne->maxBoyutlar(200, 200);
$nesne->kayitYeri("resimler/kucukler/");

if ($nesne->kucugunuYap())
{
    echo "resim küçültüldü.";
}
else 
{
    echo "HATA!!!";
}

Kabul ettiği değerler:
1- kayit yeri: Daha önce kayitYeri() methodu çağrılmazsa, bu method çağrılırken bu değer atanabilir.
2- maximum boyutlar: Daha önce maxBoyutlar() methodu çağrılmazsa, bu method çağrılırken bu değer atanabilir.

Örnek:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim1.jpg");

if ($nesne->kucugunuYap("resimler/kucukler/", 120, 120))
{
    echo "resim küçültüldü.";
}
else 
{
    echo "HATA!!!";
}

Bu method, yalnızca .jpg uzantılı dosyaları işleme alır, dosyanın uzantısı farklıysa geriye 0 döner.

Bu method, işlem başarılı olursa 1, olmazsa 0 döner.

NOT: maximum boyutlar değeri, varsayılan olarak 100'e 100'dür. Eğer maxBoyutlar() veya kucugunuYap() methodları'nın ikisinde birden maximum X ve maximum Y değerleri atanmazsa, resim varsayılan olarak 100'e 100 oranına uyacak şekilde küçültülür. (Bu oranı isteğinize göre, resimislemleri_sinif.php dosyasından değiştirebilirsiniz.)

formatDegistir()

Üzerinde işlem yapılan resim dosyasının formatının değiştirilmesini sağlar. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim3.jpg");

$nesne->kayitYeri("resimler/kucukler/");

if ($nesne->formatDegistir("gif"))
{
    echo "format değiştirildi.";
}
else 
{
    echo "HATA!!!";
}

Kabul ettiği değerler:
1- yeni format: resmin sahip olacağı yeni format değerini belirtir. gif, png veya jpg olmalıdır.

Bu method, gif, png ve jpg formatları arasında çevrim yapar.

Method çağrılmadan önce kayitYeri() methodu çağrılmalıdır.

İşlem başarılı olursa 1, başarısız olursa 0 döner.

yaziEkle()

İşlem yapılan resmin üzerine yazı eklenmesini sağlar. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim3.jpg");

$nesne->kayitYeri("resimler/digerresimler/");

if ($nesne->yaziEkle("örnek...", "32", "50", "50", "000000"))
{
    echo "Yazı yazıldı.";
}
else 
{
    echo "HATA!!!";
}

Kabul ettiği değerler:
1- yazı: Resmin üzerine yazılacak yazıdır.
2- font boyutu: resmin üzerine yazılacak fontun büyüklüğüdür.
3- x koordinatı: yazının resim üzerinde başlayacağı yerin x koordinatıdır. ( sol üst köşe (0,0) kabul edilir.)
4- y koordinatı: yazının resim üzerinde başlayacağı yerin y koordinatıdır. (sol üst köşe (0,0) kabul edilir.)
5- renk: resmin üzerine yazılacak yazının renk değeridir. 6 haneli renk kodu olmalıdır.
6- font: resmin üzerine yazılacak yazının fontudur. varsayılan olarak arial.ttf'dir. (Kullanılacak fontun .ttf dosyası, sınıf ile aynı dizinde bulnmalıdır. arial.ttf varsayılan olarak bulunmaktadır.)
7- açı: Resmin üzerine yazılacak yazının resim üzerinde yapacağı açıyı ifade eder. Varsayılan olarak 0'dır.

Bu method, yalnızca .jpg uzantılı dosyaları işler.

İşlem sonrası oluşan dosyayı kayitYeri() methodu ile belirtilen dizine kaydeder.

İşlem başarılı olursa 1, olmazsa 0 döner.

resimBirlestir()

İşlem yapılan resmin, başka bir resim ile üst üste birleştirilmesini sağlar. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim3.jpg");

$nesne->kayitYeri("resimler/digerresimler/");

if ($nesne->resimBirlestir("resimler/resim1.jpg", 20))
{
    echo "resimler birleştirildi.";
}
else 
{
    echo "HATA!!!";
}

Kabul ettiği değerler:
1- ikinci resim: nesneyi başlattığımız resmin üzerine gelecek olan resmi ifade eder.
2- saydamlık: ikinci resmin saydamlığını ifade eder. 0 gözükmeyen, 100 ise tam görünen saydamlık değeridir.
3- birinci resim x değeri: Birinci resim için birleşmenin başlayacağı x koordinatını ifade eder. Varsayılan olarak 0'dır. (sol üst köşe)
4- birinci resim y değeri: Birinci resim için birleşmenin başlayacağı y koordinatını ifade eder. Varsayılan olarak 0'dır. (sol üst köşe)
5- ikinci resim x değeri: İkinci resim için birleşmenin başlayacağı x koordinatını ifade eder. Varsayılan olarak 0'dır. (sol üst köşe)
6- ikinci resim y değeri: İkinci resim için birleşmenin başlayacağı y koordinatını ifade eder. Varsayılan olarak 0'dır. (sol üst köşe)
7- genişlik: Birleştirmenin genişliğini ifade eder. Varsayılan olarak birinci resmin genişlik değeridir.
8- yükseklik: Birleştirmenin yüksekliğini ifade eder. Varsayılan olarak birinci resmin yükseklik değeridir.

Bu method yalnızca .jpg uzantılı dosyaları işler.

İşlem sonrası oluşan dosyayı kayitYeri() methodu ile belirtilen dizine kaydeder.

İşlem başarılı olursa 1, olmazsa 0 döner.

resimKes()

Üzerinde işlem yapılan resmimden belli bir alanın kesilmesini sağlar. Örnek kullanımı:

include("resimislemleri_sinif.php");

$nesne = new resimislemleri("resimler/resim3.jpg");

$nesne->kayitYeri("resimler/digerresimler/");

if ($nesne->resimKes(20, 20, 100, 100))
{
    echo "resim kesildi.";
}
else 
{
    echo "HATA!!!";
}

Kabul ettiği değerler:
1- x koordinatı: kesilecek alanın x koordinatını ifade eder. (sol üst köşe (0,0))
2- y koordinatı: kesilecek alanın y koordinatını ifade eder. (sol üst köşe (0,0))
3- genişlik: kesilecek alanın genişliğini ifade eder.
4- yukseklik: kesilecek alanın yüksekliğini ifade eder.

Bu method yalnızca .jpg uzantılı dosyaları işler.

İşlem sonrası oluşan dosyayı kayitYeri() methodu ile belirtilen dizine kaydeder.

İşlem başarılı olursa 1, olmazsa 0 döner.

Versiyon Geçmişi

Mayıs 2008: v1.0

Lisans

Bu sınıf, GNU Public lisansı ile lisanslanmıştır.

İletişim

Sınıfı yazan: İsa Engiz
Her türlü görüş, öneri veya karşılaştığınız hatalar için, bana ulaşmaktan çekinmeyiniz,
EPosta: engisa@gmail.com