PHP Thumbnailer Sınıfı v2.0

Genelde yazılarımın altyapısını tecrübelerim oluşturuyor. Projelerimde kullandığım teknikler, sınıflar gibi şeyler güzel birer makale konusu olabiliyor. Bu çizgide size tanıtmak istediğim bir sınıf var; PHP Thumbnailer Sınıfı v2.0. Dünyada bir çok web programcısı tarafından takdir edilen bu sınıf, bir WordPress eklentisi olan NextGEN Galeri‘de de kullanılmakta. Fotoğrafları düzenlemek (yeniden boyutlandırma, döndürme, kesme, yansıma ekleme vb.) için ideal bir sınıf diyebilirim.

Özellikleri

PHP Thumbnailer Sınıfı v2.0 ile aşağıdaki işlemleri kolayca gerçekleştirebilirsiniz.

  • Resmi tercihe bağlı bir şekilde kırpabilirsiniz. Örneğin tam ortasından istediğiniz boyutlarda bir kareyi kesip kullanabilirsiniz.
  • Resmi istediğiniz yöne doğru 90 derece döndürebilirsiniz.
  • Resimlerinize yansıma ekleyebilirsiniz.
  • Yüzdeye göre veya belirteceğiniz genişlik ve yüksekliğe göre kalitesi bozulmadan resmin boyutunu değiştirebilirsiniz.
  • Resmi kalitesini yüzde (0-100%) oranında değiştirebilirsiniz.
  • Bir anda birden çok resmi sınıfı veya resimleri yeniden çağırmadan düzenleyebilirsiniz.
  • Resimlerin dinamik olarak (İngilizce’de “on the fly” tabiri kullanılıyor) oluşturulmasını sağlayabilirsiniz. Yani ziyaretçilerinize küçültülerek görünür fakat aslında küçültülmüş yeni bir dosya yoktur.

Yukarıda bu sınıfın özelliklerinden sadece birkaçını saydım. Böyle gelişmiş bir sınıfın kullanımının oldukça karmaşık olduğunu düşünebilirsiniz fakat aksine gerçekten çok kolay.

Kullanımı

Resmi Çağırmak
Aşağıdaki gibi basit bir kodla resmi çağırıp sınıfa dahil ederek uygulamamıza başlayabiliyoruz.

<?php
include_once('thumbnail.inc.php');
$thumb = new Thumbnail('galeri/kisisel/resim.jpg');
?>

Yeniden Boyutlandırma
Resmi dilerseniz direk piksel cinsinden genişlik ve yüksekliğini belirterek yeniden boyutlandırabilirsiniz veya yüzde (%) belirterek belirli bir oranda boyutlandırma yapabilirsiniz.

<?php
//Piksel belirterek boyutlandırma (genişlik,yükseklik)
$thumb->resize(250,250);  

//Resmin boyutunu %50 oranında düşürme
$thumb->resizePercent(50);
?>

Resimden Parça Almak (Kırpma/Kesme)
Bu sınıf ile dilersek resmin tam ortasından belirteceğimiz oranda bir kesit alabiliriz ya da resmin dilediğimiz bir yerini ölçüsünü belirterek kesip alabiliriz.

<?php
//Resmin tam ortasından 100x100 piksellik bir bölümü alır.
$thumb->cropFromCenter(100);

//Resmin belirteceğiniz konumundan kesit almanızı sağlar. (başlangıç (x), başlangıç (y), genişlik, yükseklik)
$thumb->crop(0,0,100,50);
?>

Resmi Döndürmek
Resmi saat yönünde (CW) veya saatin tersi yönünde (CCW) 90 derece döndürebilirsiniz.

<?php
//Saat yönünde çevirme
$thumb->rotateImage();  //veya $thumb->rotateImage('CW');
//Saatin tersi yönünde çevirme
$thumb->rotateImage('CCW');
?>

Yansıma Eklemek
Resimlere createReflection() fonksiyonu ile yansıma eklebilir. Bu fonksiyonun alabileceği değerler;
createReflection($yuzde,$yansima,$seffaflik,$cizgi,$cizgiRengi);

  • $yuzde: Yüzde olarak yansıma miktarı
  • $yansima: Resmin yüzde olarak yansıma yapılacak yüksekliği
  • $seffaflik: Resmin yüzde olarak ne kadar şeffaf olacağı
  • $cizgi: Orjinal resmin çevresine bir çizgi çizilip çizilmeyeceği (true, false)
  • $cizgiRengi: Çizgi çizilecekse bunun rengi

Bu kodu örnek olarak şu şekilde kullanabilirsiniz.

<?php
$thumb->createReflection(40,40,80,true,'#a4a4a4');
?>

Erişim Bilgileri

Yukarıdaki kodların kullanıldığı ve resmin üzerinde yaptığı etkilerin gösterildiği test sayfasına şuradan ulaşabilirsiniz.

Sınıfı indirebileceğiniz ve kullanımını görebileceğiniz orjinal sayfası PHP Thumbnailer Class v2.0

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

arıkan

arıkan
21 Ocak 2009

Merhabalar ;
* Resimlerin dinamik olarak (İngilizce’de “on the fly” tabiri kullanılıyor) oluşturulmasını sağlayabilirsiniz. Yani ziyaretçilerinize küçültülerek görünür fakat aslında küçültülmüş yeni bir dosya yoktur.

bu şekilde servera fazla yük bindirmiş olmazmıyız ?

yakuter

yakuter
21 Ocak 2009

Evet Arıkan, aynen dediğin gibi servera fazla yük demektir bu. Fakat tabi sınıfın böyle bir özelliği olması, onu kullanmak zorunda olduğumuz anlamına gelmesin. Ben sadece bünyesinde barındırdığı özellikleri listeledim.

arıkan

arıkan
23 Ocak 2009

aman aman eleştirmek için yazmadım :D ,
Birçok arkadaş bu şekilde bir kullanıma gidiyor da bilmek de fayda var die yazdım.Yanlış anlaşıldı ise kusura bakmayın.

yakuter

yakuter
23 Ocak 2009

Merak etme Arıkan, öyle kolay kolay yanlış anlamam ben:)

Raiden

Raiden
24 Ocak 2009

arıkan dediğin gibi sunucuya ek yük demektir hele hele trafiği yüksek sitelerde daha çok belli olur bu dediğin ama trafiği az olan web sitelerinde çok da fazla bir yük getireceğini zannetmiyorum. zira forumlardaki bir çok avatar vs resim albümleri vt de saklanıp bir image dosyası ile maksimum seviyede kullanıcının bilgisayarına cache yapılarak gösteriliyor.

HoCaM

HoCaM
13 Nisan 2009

Merhaba çalışmalarınızı gayet başarılı buluyorum yanlız benım bır sorum olacaktı wordpress blog’uma yenı ekledığım temanın kullanmıs olduğu PHP Thumbnail eklentisi yuzunden ana sayfadakı kucuk resımlerı eklerken sorun yasıyorum ve hıc bır sekılde cıkmıyor yardım edebılırsenız sevınırım teşekkürler.

yakuter

yakuter
13 Nisan 2009

@HoCaM, malesef sorunun hangi aşamada yaşandığı konusunda net bir bilgimiz yok. Bununla birlikte malesef kişisel yardımda bulunacak kadar zaman bulmam da imkanız şu günlerde :( Tek tavsiyem eğer yapabilirseniz temanın ilgili thumbnail fonksiyonunu iptal edip WordPress’in resim yükleme ve yüklerken küçültme fonksiyonlarından faydalanmanızdır.

nema problema

nema problema
24 Haziran 2009

Evet sanırım sorduğum sorunun cevabını buldum, bu sınıfın içinde aradığım mevcut

$thumb = PhpThumbFactory::create(‘test.jpg’);
$thumb->adaptiveResize(100, 100);
$thumb->show();

100*100 ‘lük bir resim oluşturuyor, istediğim gibi..

Mehmet

Mehmet
06 Ekim 2009

Çok faydalı bir makale gerçekten, teşekkürler..

Görkem

Görkem
08 Eylül 2010

Merhabalar Dediğiniz script güzel yanlız bir sorum olucaktı ben png formtatını boyutlandırdıgımda arkaplan siyah geliyor bunu nasıl düzeltebılırım ?

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.

TAMindir.com - Yeni Programlar

iPadian - Windows

Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...

ClipGrab - Windows

YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...

Elder Scrolls V Skyrim Duvar Kağıtları - Windows

Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....

Undelete 360 - Windows

Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...

Knights of the Old Republic 2 Duvar Kağıtları - Windows

Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.