Imagemagick harikalar yaratarak resimleri istediğiniz şekilde manipüle etmenize olanak tanıyan bir resim işleme uygulamasıdır. Bu uygulama ile resimleri istediğiniz formata convert edebileceğiniz gibi, ters çevirme, renklerle oynama, thumbnail görüntü alma gibi işlevsel fonksiyonlarını da kullanabiliyorsunuz. Özellikle Google'ın PageInsights'ta istemiş olduğu resim formatları ve biçimlerine uygun şekilde sıkıştırma olanağı da tanır. Bizler de bu yazımızda WampServer için bu uygulamayı nasıl kuracağımızı öğreneceğiz.
Kurulum
ImageMagick Programının Yüklenmesi
Öncelikle ImageMagick'in bilgisayarımızda Execute edebileceğimiz halini bilgisayarımıza indirelim.
Image Magick'in Son Versiyonunu Kullandığınız PHP sürümüne göre indirip yükleyelim (ImageMagick-7.0.2-0-Q16-x64-dll (PHP 7.0 x64) gibi)
Imagick PHP Kütüphanesinin WampServer'a Yüklenmesi
PHP Imagick eklentisi, ImageMagick uygulaması ile entegre olarak komutları çalıştırmaya olanak tanıyan PHP Kütüphanelerini barındırır.
Buradan Imagick modülünü indirelim.
İndirdiğimiz bu dosyalar arasında "php_imagick.dll" adlı bir dosya göreceksiniz. Bu dosyayı arşivden çıkardıktan sonra PHP'ye eklememiz gerekiyor.
php_imagick.dll dosyamızı "C:\wamp64\bin\php\php7.0.32\ext" klasörünün içerisine kopyalıyoruz.
şimdi bu dosyamızı php.ini ile ilişkilendiriyoruz.
Windows'un çalışan uygulamaları gösterdiği kısımdan wamp server ikonuna tıklayıp PHP > php.ini seçeneğini tıklıyoruz.
ardından açılan not defterinden resimde göstermiş olduğum yere (sıralaması önemli değil) aşağıdaki komutu yapıştırıyoruz
extension=php_imagick.dll
Şimdi de Imagick'in ImageMagick-6.9.3-7-Q16-x64-dll sürümünü kurmamız gerekiyor.
Buradan belirtmiş olduğum sürümü de indirip bilgisayarınıza yükleyin.
ImageMagick kurulumunu tamamladınız.
Kurulum Testi
Denemek için aşağıdaki kodu kullanabilirsiniz. test.php açıp yanına deneme.jpg ve logo.png dosyalarını ekleyin. test.php'yi çalıştırdığınızda deneme resminin üzerinde logoyu bastığını göstermeniz gerekiyor.
$image = new Imagick();
$image->readImage("deneme.jpg");
$wm = new Imagick();
$wm->readImage("logo.png");
$image->compositeImage($wm, imagick::COMPOSITE_OVER, 5, 5);
header("Content-Type: image/jpeg");
echo $image;