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.
PHP Thumbnailer Sınıfı v2.0 ile aşağıdaki işlemleri kolayca gerçekleştirebilirsiniz.
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.
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);
Bu kodu örnek olarak şu şekilde kullanabilirsiniz.
<?php $thumb->createReflection(40,40,80,true,'#a4a4a4'); ?>
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
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.
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
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
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.
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
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
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
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
06 Ekim 2009
Çok faydalı bir makale gerçekten, teşekkürler..
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 ?
Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.
Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...
YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...
Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....
Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...
Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...
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.