CakePHPで画像リサイズライブラリを使う

PHPの画像加工ライブラリIntervention ImageをCakePHPで利用する

インストール

Intervention ImageをCakePHP2.5.5で利用します。

Installationでインストールガイドを確認することが出来ます。本記事では、Windows環境のXAMPP1.8.3(PHP5.5.15)の構成でIntervention Imageを利用しました。

composerでインストールすることが出来るので、CakePHPのルートディレクトリに配置されている

composer.json

を開いて、requireの部分にIntervention Imageを追記します。

"require": {
  "php": ">=5.2.8",
  "ext-mcrypt": "*",
  "intervention/image": "2.x"
},

追記したら、コマンドプロンプトで

composer update

を実行してインストール完了です。

composerをインストールしていない場合は、Composer-Setup.exeをダウンロードしてインストールします(Windows環境の場合)。

composer updateを実行すると、CakePHPのルート配下にvendorディレクトリが作成されます。

composer-vendor

CakePHPでIntervention Imageをロードする

include_pathの追加

include_pathを追加しておきます。

app/config/bootstrap.php

の最後に以下のコードを追加します。

$path = 'C:\xampp\htdocs\vhost\cakephp2.5.5;';
set_include_path(get_include_path().PATH_SEPARATOR.$path);

上のコードの場合は、cakephp2.5.5ディレクトリがCakePHPのルートディレクトリの場合の設定になります。

requireとuse

コントローラでライブラリをrequireします。

require 'vendor/autoload.php';
use Intervention\Image\ImageManager;

class PagesController extends AppController {

}

画像の加工

インストールガイドのUsageを参考に画像のリサイズと保存を試してみます。

$manager = new ImageManager(array('driver' => 'gd'));
$image = $manager->make('img/cake.power.gif')->resize(60, null)->save('img/cake.power-new.gif');

CakePHPのロゴ画像(cake.power.gif)を加工して保存したのが上のコードです。

resizeのAPIは以下のページで利用方法を調べることが出来ます。

resize — Resize current image

その他のAPIも公式サイトのドキュメントで調べることが出来ます。

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CakePHPで画像リサイズライブラリを使うの記事にコメントを投稿