Imagickの基本的な使い方

先日インストールしたImagickの基本的な使い方を紹介します
ImagickはPHPからImageMagickを使う際に使うpeclのAPIになります

基本の使い方

~~~
getMessage();
}
?>
~~~

リサイズする

~~~
resizeImage(100, 0, Imagick::FILTER_LANCZOS, 1);

/* リサイズした画像を保存する */
$im->writeImage(‘/var/www/html/new.jpg’);

/* imagick objectを破棄する */
$im->destroy();

echo ‘resize image’;

} catch(Exception $e) {
echo $e->getMessage();
}
?>
~~~

サムネイルを作成する

~~~
cropThumbnailImage(100, 100);

/* リサイズした画像を保存する */
$im->writeImage(‘/var/www/html/new.jpg’);

/* imagick objectを破棄する */
$im->destroy();

echo ‘thumbnail image’;

} catch(Exception $e) {
echo $e->getMessage();
}
?>
~~~

画像に画像を重ねる

~~~
getImageGeometry();
$x = $geo[‘width’] / 2;
$y = $geo[‘height’] / 2;

/* 別の画像を読み込む */
$layer = new Imagick(‘/var/www/html/layer.jpg’);

/* $layerの画像サイズを取得し、その中心を計算する*/
$geo = $layer->getImageGeometry();

/* その座標を中心とするので、幅、高さの半分の値だけ$xと$yの値をずらします。*/
$x = $x – $geo[‘width’] / 2;
$y = $y – $geo[‘height’] / 2;

/* existsにlayerを重ねる */
$im->compositeImage($layer, Imagick::COMPOSITE_DEFAULT, $x, $y);

/* 画像を保存する */
$im->writeImage(‘/var/www/html/new.jpg’);

/* imagick objectを破棄する */
$im->destroy();

echo ‘thumbnail image’;

} catch(Exception $e) {
/* $imageが存在しないと例外が発生する */
echo $e->getMessage();
}
?>
~~~