Php Resim Efektleri

Php Resim Efektleri

Php ile resme watermark (logo) basımı, resmin üzerine yazı yazma, resme yansıma efekti verme, resmi ters çevirme, büyütme ve küçültme gibi birçok işlemi yapabileceğiniz bir kütüphane bu içeriğimin konusu. GD veya Imagemagick fonksiyonlarıyla içli dışlı olmadan görsel efektleme işlerinizi kolayca yapabileceğiniz Verot classı (sınıfı) bu anlamda büyük bir kolaylık sağlıyor. Haydi başlayalım!

Verot’un Class Upload sınıfını buradan indiriniz. İndirdiğiniz dosyanın içerisindeki src dizininde “class.upload.php” dosyasını ilgili dizine çıkarınız. İşlemlerimiz için sadece bu Php dosyasını kullanacağız.

Resimlerimizle işlem yapacağımız Php dosyasının içerisine “class.upload.php”yi include edelim.

include 'class.upload.php';

Başlangıç için her şey tamam.

Php Watermark

Şimdi efektlemeye başlayabiliriz. Efekt işlemleri için belli bir sırayı takip etmeliyiz. İlk efekt örneğimizde Atatürk’ün transparan PNG görselini, bayraklı Türkiye haritası üzerine sağ alt köşeye gelecek biçimde basalım. Bunun için gerekli resim dosyaları şunlar:

Türkiye Haritası BayrakAtatürk PNG

Php dosyanıza include’den sonra şu satırları ekleyin:

$handle->allowed = array('image/*');
$handle = new upload('turkiye-harita-1.jpg'); // arka plan resmimiz
$handle->image_watermark       = 'ataturk.png'; //watermark resmimiz
$handle->image_watermark_position = 'R'; //sağa dayalı watermark basılmasını söylüyoruz
$handle->image_watermark_y     = 45; // watermarkımızın y ekseninden 45 pixel uzaklıkta olmasını söylüyoruz. Böylece watermark alt bölüme yapışacak.
$handle->jpeg_quality = 90; //Çıktı Jpg resminin kalitesi
$handle->image_convert         = 'jpg'; //Çıktı'nın türü.
$handle->file_new_name_body   = 'atam-turkiyem';  //Sonuç görselimizin adı. Buraya uzantıyı yazmayınız.
$handle->process('./'); //Bulunduğu klasöre çıkar.
if ($handle->processed) { //eğer işlem gerçekleştiyse...
echo '<h2>Görselimiz tamam.</h2>';	
echo '<img src="atam-turkiyem.jpg" />';
}

Yeni görselimiz hazır.

Atam Türkiyem

Diğer örneğe geçmeden önce kodumuzdaki bazı girdilerin ne anlama geldiğine dikkat ediniz.

Php Yansıma Efekti

İkinci örneğimizde bir manzara fotoğrafı için yansıma efekti oluşturalım. Sonbahar manzarası fotoğrafımızın işlenmemiş hali şöyle:

Sonbahar Manzarası

 

Kullanacağımız kodlar;

$handle->allowed = array('image/*');
$handle = new upload('manzara.jpg'); // yansıma efekti için kullanacağımız orijinal görsel
$handle->image_reflection_height = '80%'; // %80 oranında yansıtmasını söyledik.
//$handle->image_default_color    = '#000000'; //yansımanın arka planı beyaz renk olacak. Böylece silik bir görüntü verebileceğiz.
$handle->jpeg_quality = 90; //Çıktı Jpg resminin kalitesi
$handle->image_convert         = 'jpg'; //Çıktının türü.
$handle->file_new_name_body   = 'manzara-yansima';  //Sonuç görselimizin adı. Buraya uzantıyı yazmayınız.
$handle->process('./'); //Bulunduğu klasöre çıkar.
if ($handle->processed) { //eğer işlem gerçekleştiyse...
echo '<h2>Görselimiz tamam.</h2>';	
echo '<img src="manzara-yansima.jpg" />';
}

Yansıma efektli sonbahar manzarası:

Yansıma Efekti

Resmin Üzerine Font Kullanarak Yazı Yazmak

Üçüncü örneğimizde bir resmin üzerine Gdf fontu kullanarak “BEYBUT” yazmayı amaçlıyoruz. Bunu biraz fantastik hale sokalım. Aşağıdaki kalp işaretinin tam ortasına yazımızı yazalım.

Kalp

 

$handle->allowed = array('image/*');
$handle = new upload('kalp.jpg'); // arka plan orijinal görsel
$handle->image_text            = 'BEYBUT';
$handle->image_text_color      = '#000000'; //yazı rengi (siyah)
$handle->image_text_padding    = 10; //$handle->image_text_padding_y ve $handle->image_text_padding_x değerleri belirterek yazının pozisyonunu değiştirebilirsiniz.
$handle->image_text_font       = "sfautomation.gdf"; //fontumuz. Bu fontun işlem yaptığınız klasörde olmasına dikkat ediniz. $handle->image_text_font tanımı aynı zamanda font büyüklüğünü de belirtir.
$handle->jpeg_quality = 90; //Çıktı Jpg resminin kalitesi
$handle->image_convert         = 'jpg'; //Çıktı'nın türü.
$handle->file_new_name_body   = 'kalp-beybut';  //Sonuç görselimizin adı. Buraya uzantıyı yazmayınız.
$handle->process('./'); //Bulunduğu klasöre çıkar.
if ($handle->processed) { //eğer işlem gerçekleştiyse...
echo '<h2>Görselimiz tamam.</h2>';	
echo '<img src="kalp-beybut.jpg" />';
}

Kodlar uygulandığında ortaya çıkan romantik görselimiz:

Kalp Beybut

 

Resmi Ters Çevirmek

“Çevir kazı yanmasın.” bu örneğimizde bir kaz fotoğrafını vertical (dikey) olarak ters çevireceğiz. Verot sınıfında “V” (vertical) ve “H” (horizontal – yatay) olarak belirtilmiş çevirme seçenekleri mevcut.

Orijinal kazımız bu:

Kaz

$handle->allowed = array('image/*');
$handle = new upload('kaz.jpg'); // arka plan orijinal görsel
$handle->image_flip            = 'V'; //dikey olarak ters çevir
$handle->jpeg_quality = 90; //Çıktı Jpg resminin kalitesi
$handle->image_convert         = 'jpg'; //Çıktının türü.
$handle->file_new_name_body   = 'ters-kaz';  //Sonuç görselimizin adı. Buraya uzantıyı yazmayınız.
$handle->process('./'); //Bulunduğu klasöre çıkar.
if ($handle->processed) { //eğer işlem gerçekleştiyse...
echo '<h2>Görselimiz tamam.</h2>';	
echo '<img src="ters-kaz.jpg" />';
}

Bu kodları uyguladıktan sonra kaz çevirme işlemi tamamlanıyor.

Ters Kaz

$handle->image_flip            = 'V';

ile görselimizi dikey olarak ters çevirdik. Bunu ‘H’ yaparak yatay olarak da çevirebilirsiniz.

Diğer efektleme özelliklerine de değinelim.

Resim Boyutunu/Çözünürlüğünü Küçültme ve Büyütme

Resim boyutunu küçültmek veya büyütmek için basitçe;

$handle->image_resize          = true;
$handle->image_y               = 50;
$handle->image_x               = 50;

kodlarını kullanabilirsiniz. Görseliniz 50×50 pixel çözünürlüğüne dönüştürülecektir.

Blur Efekti

$handle->image_pixelate        = 10;

Resmi Siyah Beyaz Yapma

$handle->image_greyscale       = true;

Resme Çerçeve Ekleme

$handle->image_border          = 10;
$handle->image_border_color    = '#00FF00';
$handle->image_border_opacity  = 50;

10 pixel genişliğinde yeşil renkli ve yarı transparan bir çerçeve ekledik.

Verot’un diğer örneklerine bu adresten ulaşabilirsiniz.

Bu sınıfı kullanarak, çok fazla kod yazmadan, görsellerinizi efektleyebilirsiniz. İyi efektlemeler.

Yazar: admin

Beybut.com yöneticisi ve yazarı. 17 Ocak 1980'de doğdu. Uluslar arası ilişkiler ve siyaset bilimi, Türkçe öğretmenliği eğitim aldı. 1995 yılından beri, özellikle yazılım konusunda profesyonel çalışmalarda bulundu. Pascal, Delphi, Php, sunucu güvenliği ve optimizasyonu, Seo alanlarında çalışmalar yürüttü. Yerel gazetelerde köşe yazarlığı yaptı. Yazın yaşamına dair yarışmalarda birçok ödül kazandı. Şiir, tarih, psikoloji, felsefe ve siyaset bilimi özel ilgi alanları.

“Php Resim Efektleri” için bir yorum

  1. resmin eklendikten sonra silinmemesini istiyorum asıl resmin kalmasını hatta şöyle açıklıyım, sabit bir arkaplan resmine sürekli dosyadan(input type=file üzerinden) yüklenen resimleri entegre etmek istiyorum nasıl yapabilirim

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir