Laravel Intervention/imageを使用してサムネイルを生成


説明#
Intervention/imageはLaravel用にカスタマイズされた画像処理ツールで、画像を作成、編集するための表現しやすい方法を提供しています.
Demoコードを参照:https://github.com/zhengjinghua/est-image-demo
Demo#
Demoスクリーンショット#
Demo運転#
Homesteadを使用してLaravelプロジェクトを迅速に実行する方法を参照してください.
記事の概要#
インストール;構成情報の変更;基本的な使い方特色ある机能.次は详しく解说する.
  • 取付#
  • 1).composerを使用してインストール:
    composer require intervention/image上のコマンド
    2).app/config/app.phpを変更してServiceProviderを追加する:
    //providers配列に次のコードを追加
    'providers' => [
        // ...
        Intervention\Image\ImageServiceProvider::class,
        // ...
      ],

    //aliases配列に次のコードを追加
    'aliases' => [
        // ...
        'Image' => Intervention\Image\Facades\Image::class,
        // ...
      ],
  • ピクチャ処理ライブラリの構成#
  • この拡張パケットは、デフォルトではPHPのGDライブラリを用いる画像処理を行うが、GDライブラリは、画像の処理効率がimagemagickライブラリに劣るため、ここではimagemagickライブラリに置き換える画像処理を行うことを推奨する.
    開始する前に、GDまたはImagickがローカルにインストールされていることを確認しなければなりません.
    Intervention Imageを使用する場合は、ImageManagerに配列パラメータを渡すだけでGDとImagickライブラリの切り替えを完了できます.
    次のようになります.
    //composer autoloadの導入
    require 'vendor/autoload.php';

    //Intervention Image Manager Classのインポート
    use Intervention\Image\ImageManager;

    //driverを指定してimage managerインスタンスを作成する
    $manager = new ImageManager(array('driver' => 'imagick'));

    //最後にイメージインスタンスを作成する
    $image = $manager->make('public/foo.jpg')->resize(300, 200);

    また、ImageManagerの静的バージョンも次のように使用できます.
    //composer autoloadの導入
    require 'vendor/autoload.php';

    //Intervention Image Manager Classのインポート
    use Intervention\Image\ImageManagerStatic as Image;

    //driverを指定してimage managerインスタンスを作成する(デフォルトではgd)
    Image::configure(array('driver' => 'imagick'));

    //最後にイメージインスタンスを作成する
    $image = Image::make('public/foo.jpg')->resize(300, 200);

    config/image.phpプロファイルを生成するには、次の手順に従います.
    php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"

    上記のコマンドを実行すると、プロジェクトにconfig/image.phpプロファイルが生成され、このファイルを開きdriverをimagickに変更します.
    return array(
        'driver' => 'imagick'
    );

    これで、この拡張パッケージはインストールに成功しました:beers::beers::beers:3.基礎的な使い方#
    //指定画像のサイズ変更
    $img = Image::make('images/avatar.jpg')->resize(200, 200);

    //透かし挿入、透かし位置は元の画像の右下、下から10画素、右から15画素
    $img->insert('images/watermark.png', 'bottom-right', 15, 10);

    //処理後の画像を別のパスに再保存
    $img->save('images/new_avatar.jpg');

    /*上の論理はチェーン式で解決できます*/
    $img = Image::make('images/avatar.jpg')->resize(200, 200)->insert('images/new_avatar.jpg', 'bottom-right', 15, 10);
  • 特色機能#
  • この拡張パッケージでは、上記の基本的な使用法に加えて、次のことがサポートされています.
    画像アップロード機能;画像キャッシュ機能;画像フィルタ機能:画像を統一規則に従って変換する;画像ダイナミック処理:アクセス画像のURLパラメータに基づいて画像サイズを自動的に調整する
    より多くの例は、公式ドキュメントの参考に移動してください.