このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

web帳

記事詳細

2015.01.08

遅れましたが..あけましておめでとうございます!2015年は Laravelで画像処理。からということで。

あけましておめでとうございます!!

新年早々、風邪をひいてしまい体調が悪いまま2015年は始まってしまいました。

おかげ様で色々とくたばっておりました。。。><

 

新年1発目は何を書こうと考えたところ2014年流行ったLaravelについてちらっと。

Laravel

こちらでまとめられているように、

http://qiita.com/shukotang/items/055058b33b553b48c164

2014年PHPフレームワークに1位になったLaravel

日本人が好みそうなフレームワークといわれているよう、使いやすさが特徴だったりします。

去年はちょこちょこと扱っていたのですが、

普段、サーバーサイドの作業を行わない私でもサクサクと作成できてしまう程のお手軽さです。

 

Eloquent ORMだったり、RESTfulリソースコントローラーだったり、マイグレーションだったりと便利な機能がそろっているのですが、今回はこれは入れといた方が良いとされるライブラリを。

画像処理を便利に Intervention Image 

Intervention Image

http://image.intervention.io

Intervention Imageは画像処理を便利にしてくれるライブラリです。

上記の公式サイトにも記載されていますが、インストールはcomposerでサクッとインストールできます。

composer require intervention/image

インストール完了しましたら、セットアップで以下を追加。

app/config/app.php

(124行目辺り providersに追加)

'Intervention\Image\ImageServiceProvider',

(190行目辺りaliases に追加)

'Image' => 'Intervention\Image\Facades\Image',

とセットアップは完了です。

あと、artisanコマンドで設定ファイルが作成できますので、

app/config/app.php

php artisan config:publish intervention/image

ドライバを変更したい際とかにはこちらを変更していただければと。

(使用にはGDライブラリもしくは Imagick PHP extensionが必要となってきます)

(後半に、GDドライバでハマった事例を書いてますので、エラーで上手くいかなかったりする方は参考にしていただければと。)

使い方

使い方としては、

$image = Image::make('public/foo.jpg')->resize(300, 200);<br /><br />return $image -> response('jpg');

こんな感じで、画像取得してリサイズがサクッとできるのです><

webからurlを引っ張ってきて

 

$image = Image::make(file_get_contents($url))->resize(300, 200);

もちろん、リサイズだけではなく、

$image->crop(200, 200);

クロップしたりも可能です。

デフォルトは中心となりますが、このように左上から設定も可能となっております。

$image->crop(200, 200, 0, 0);

web上から取得して保存したい場合などもメソッドチェーンでサクッと行えます。

Image::make(file_get_contents($url))->crop(200, 200)->save('/image/sample.jpg');

opacityの変更も

Image::make('public/foo.jpg')->opacity(50);

blur効果も

$img->blur(15);

と、画像処理を便利にするライブラリなので、インストールされた際は入れておいて損はないかと思います。

GDライブラリ

Intervention Imageを利用するにはGDライブラリもしくは Imagick PHP extensionが必要となってきます

GDライブラリの確認はコマンドラインで

php -m

でモジュールの一覧が表示されますのでそちらで確認するか、phpinfoでgdが表示してenabledになっていれば使用できます。

GDモジュールの有効化はphp.iniの

;extension=php_gd2.dll

のコメントを解除で有効化。

extension=php_gd2.dll

(apacheの再起動も忘れずに)

そもそも私のcentosにははいっていなかったのでyumでサクッとインストールしようとしたところ、

grepで検索。

yum list | grep php-gd
yum -y install php-gd

インストールが上手くいかず。。。

 

こちらを参考に

http://qiita.com/wakaba260/items/9b06c4d64239a2b0bd48

gd-lastをremiからインストールすることで上手くいきました><

sudo yum -y install --enablerepo=remi gd-last
sudo yum -y install --enablerepo=remi-php55 php-gd

いやぁ助かりました。

そんな感じで今年もよろしくお願いいたします mm

 

  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、港区六本木で活動中。

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。