Image Magick (Imagick)

PHP'nin içerisinde resim işlemleri yapmak için GD kütüphanesi bulunur. Fakat GD kütüphanesinin resim işlemleri, resmi büyük bir orantıda bozulmasına neden olur. Uzun süredir bu resim bozulması sorunu artık gerçek bir sorun haline gelmişti. Sağolsun Caner Bulut Imagick'i bizle tanıştırdı ve gerçekten Photoshop gibi büyük bir grafik uygulamasının kırpma ve orantılama kalitesine çok yakın işlemler yapan, resme efektler veren ve daha birçok özelliği olan bir kütüphaneyle tanıştık.

Aslında Imagick kütüphanemizin genel ismi değil. Imagick, Image Magick'in PHP sürümünün ismidir.

 

1. Neden Image Magick

PHP ve desteklemekte olduğu diğer dillerde resim işlemleri üzerine pek gidilmemiş ve resim işleme işlemleri kalitesiz ve zaman alıcı durumda.

Örnek olarak PHP GD'de sadece bir resimi boyutlanmak için yapmamız gereken adımlara bakalım:

  1. Resmin uzantısını bul
  2. Uzantıya göre resmi oluştur
  3. Resimi boyutlandır
  4. Kaydetmek için tekrar uzantıya başvururarak fonksyon çalıştır
  5. Dosyayı kapat

Fakat Image Magick'de işler böyle yürümüyor. Tek yapmanız gereken class'ı çağırıp, boyutlandırma ve kapatma fonksyonlarını çalıştırmak... tekrar tekrar işlem yapmak veya gereksiz kod yazmak zorunda kalmazsınız.

 

2. Genel Özellikleri

 Gayet basit bir kullanımı olan fakat içine girdikçe derinlemesine etkileyen özellikleriyle insanı baştan çıkartan bir kütüphane bu bizim Image Magick'imiz. Özellikleri genel başlıklar olarak - websitesinden çalıp, doğaçladıklarım şunlar:

  • Format Çevirme : bir resim formatından diğerine dönüştürme (örn: PNG'den JPEG'e)
  • Transform (Dönüştüme) : boyutlandırma, kırpma, çevirme (döndürme) vb.
  • Transparanlık (Opaklık) : kaliteli transparanlık ayarlama
  • Çizim : resme çekiller veye yazı ekleme
  • Dekorasyon : resme kenarlık veya çerçeve ekleme
  • Özel Efektler : blur, keskinlik veya renk ayarlama
  • Animasyon : bir dizi resimden hareketli GIF resim oluşturma
  • Yazı ve Yorumlar : resme açıklayıcı bilgi veya şekilli yazı yazma
  • Resim Tanımlama : resmin formatını ve özelliklerini tanımlama
  • Birleştirme : resmi, başka bir resmin üzerine bindirme

ve dahası da var fakat bunlar dışındakiler benim pek ilgimi çekmedi doğrusu...

 

3. Desteklediği Resim Formatları

Yanısıra Imagick 100'den fazla resim formatını desteklemekte (hepsini yazmayı gerek duymuyorum) :

  • JPG
  • JPEG
  • GIF
  • TIFF
  • PSD
  • PNG
  • PNG8
  • PNG24
  • PNG32
  • PDF
  • ICO
  • EXR

 

4. Dil Desteği

Imagick sadece web için değil genel olarak bir resim işleme kütüphanesi olarak geliştirilmiş ve sanıyorum tüm gözde yazılım dilleriyle çalışılabiliyor. PHP için kurulumu biraz sıkıntılı iş, tabii diğerlerini henüz test etmedim fakat diğer dillerde de harikalar yaratacağına inanıyorum.

Desteklediği Diller :

  • G2F (Ada)
  • MagickCore (C)
  • MagickWand (C)
  • ChMagick (Ch)
  • ImageMagickObject (COM+)
  • Magick++ (C++)
  • JMagick (Java)
  • L-Magick (Lisp)
  • NMagick (Neko/haXe)
  • MagickNet (.NET)
  • PascalMagick (Pascal)
  • PerlMagick (Perl)
  • MagickWand for PHP (PHP)
  • IMagick (PHP)
  • PythonMagick (Python)
  • RMagick (Ruby)
  • TclMagick (Tcl/TK)

Daha detaylı bilgi, kurulum ve kaynaklar için : http://www.imagemagick.org/script/index.php adresini ziyaret edin...

PHP