Laravelの画像加工用パッケージ「Intervention Image」が素敵すぎる!


larave-intervention-image

今回ご紹介するのは、画像編集ソフトを使わずに、プログラムだけで簡単に画像加工ができるようになるLaravelパッケージIntervention Image」です!
なぜ、これを使おうと思ったかと言うと、以前紹介したPWAアイコンスプラッシュ画像を一括で作成するツールがあるにはあるのですが、自分好みに作りたかったからです。

やっと、iOS 11.4(Safari 11.1)からPWA(Progressive Web Apps)に対応しました!簡単に何ができるかと言うと、WEBアプリをオフラインでも動作するネイティブアプリのように振る舞うことができるようになりました。これを利用すると、Appleに開発者の年間登録費を...
iOSにも対応したService Workerを使ってPWAの基礎を学ぶ - Minory
また、写真を販売する際に一括でウォーターマークを入れるのにも使えそうです。

Intervention Imageのインストール

システム要件

Intervention Imageでは、正しく動作するために以下のコンポーネントが必要です。

  • PHP >= 5.4
  • Fileinfo Extension

そして、次のどちらかのライブラリを有効にしてください。

  • GD Library (>=2.0)
  • Imagick PHP extension (>=6.5.7)

Laravelでパッケージを利用する

まずは、Composerを利用してIntervention Imageをインストールします。
php composer.phar require intervention/image

次に、config/app.phpを開き、providersaliasesに1行ずつ追加します。

'providers' => [
    ・・・
    Intervention\Image\ImageServiceProvider::class
],

'aliases' => [
    ・・・
    'Image' => Intervention\Image\Facades\Image::class
],

最後に、デフォルトではGDライブラリを使用するようですが、Imagickに切り替える場合は以下のartisanコマンドを実行して、

php artisan vendor:publish

設定ファイルを(config/image.php)このように書き換えます。

'driver' => 'imagick'

Intervention Imageの使い方

Controller側で呼び出して、

use Intervention\Image\ImageManagerStatic as Image;

こんな感じで使います。

$img = Image::make('foo/bar/baz.jpg');

詳しい使い方については、全51個のAPIを試した猛者がいましたので、こちらを参考に。

これは( 13日目の記事になります。こんにちは (h...
Intervention Image 全51個のAPIを試す - Qiita - Qiita
ちなみに、リサイズしてウォーターマークを挿入する場合はこんな感じです。
$img = Image::make('foo.jpg')->resize(320, 240)->insert('watermark.png');

他にもたくさん便利な機能があります。
色々試してみたいです!


コメント

このブログの人気の投稿

Linuxでファイルの改行コードLF⇔CRLFを変換する方法

RHEL 7でスタティック(静的)ルートを追加する4つの方法

SQLPlusでのOracleリモート接続とSQLファイルを実行する方法