10
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelでintervention/imageを使う

Last updated at Posted at 2020-07-02

intervention/imageをインストール

composerでインストールします。

composer require intervention/image

初期設定

インストールが完了したら、app\config\app.phpを編集します。

providersに以下を追記。

app.php
'providers' => [
...
Intervention\Image\ImageServiceProvider::class,
],

aliasesに以下を追記。

app.php
'aliases' => [
...
'Image' => Intervention\Image\Facades\Image::class,
],

これにより、use Image;でライブラリを読み込むことができます。
以上で初期設定は完了です。

写真の加工

試しに写真を反転するように加工してみましょう。

[加工する素材]

コントローラーを作成します。

php artisan make:controller PhotosController

作成したコントローラーを編集します。

PhotosController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Image; // intervention/imageライブラリの読み込み

class PhotosController extends Controller
{
    // 写真を読み込み加工する
    public function retouch()
    {
        // 読み込み
        $path = storage_path('app/images/rabbit.jpg');
        $img = Image::make($path);
        
        $img->flip(); // 写真を反転させる
        
        //保存
        $save_path = storage_path("app/images/rabbit_flip.jpg");
        $img->save($save_path);
    }
}

実行後はこのようになります。

他にもモザイクをかけたり

 $img->pixelate(50);

グレースケールにしたりと、何かと高機能なライブラリです。

$img->greyscale();

[参考]
http://image.intervention.io/
https://blog.capilano-fw.com/?p=1574

10
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?