Intervention/image を使用して Laravel プロジェクトで画像を処理する

WBOY
リリース: 2016-06-20 12:33:49
オリジナル
1144 人が閲覧しました

説明

Intervention/image は、Laravel 用にカスタマイズされた画像処理ツールで、画像の作成と編集を簡単に表現できます。

この記事は、The EST Group のメンバーである @monkey によって書かれ、最初に PHPHub コミュニティで公開されました。

デモ コードについては、以下を参照してください。 https://github.com/zhengjinghua/ est-image-demo

デモ

デモのスクリーンショット

デモの実行

Homestead を使用して Laravel プロジェクトを迅速に実行する方法のドキュメントを参照してください。

記事の概要

    構成情報を変更します。 >基本的な使い方;
    • 主な機能
    • 以下は詳しく説明します。
    1. インストール
1).composer を使用してインストールします:

上記のコマンドは

2) ServiceProvider を追加するために app/config/app.php を変更します:

composer require intervention/image
ログイン後にコピー

2. 画像処理ライブラリの構成

本拡張パッケージ 画像処理にはデフォルトではPHPのGDライブラリが使用されますが、GDライブラリは画像処理効率がimagemagickライブラリに若干劣るため、置き換えることを推奨します

// 将下面代码添加到 providers 数组中'providers' => [    // ...    Intervention\Image\ImageServiceProvider::class,    // ...  ],// 将下面代码添加到 aliases 数组中'aliases' => [    // ...    'Image' => Intervention\Image\Facades\Image::class,    // ...  ],
ログイン後にコピー
始める前に、まず GD または Imagick がローカルにインストールされていることを確認する必要があります。

Intervention Image を使用する場合は、配列パラメータを ImageManager に追加して、GD ライブラリと Imagick ライブラリ間の相互切り替えを完了します。

以下に示すように:

さらに、以下に示すように、ImageManager の静的バージョンを使用することもできます。 :

config/image.php 構成ファイルの生成:
// 引入 composer autoloadrequire 'vendor/autoload.php';// 导入 Intervention Image Manager Classuse Intervention\Image\ImageManager;// 通过指定 driver 来创建一个 image manager 实例$manager = new ImageManager(array('driver' => 'imagick'));// 最后创建 image 实例$image = $manager->make('public/foo.jpg')->resize(300, 200);
ログイン後にコピー

上記のコマンドを実行すると、プロジェクト内に config/image.php 構成ファイルが生成されます。このファイルを作成し、ドライバーを imagick に変更します。
// 引入 composer autoloadrequire 'vendor/autoload.php';// 导入 Intervention Image Manager Classuse Intervention\Image\ImageManagerStatic as Image;// 通过指定 driver 来创建一个 image manager 实例 (默认使用 gd)Image::configure(array('driver' => 'imagick'));// 最后创建 image 实例$image = Image::make('public/foo.jpg')->resize(300, 200);
ログイン後にコピー

これで完了です。この拡張パッケージはインストールに成功しました:beers: :beers: :beers:
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
ログイン後にコピー

3. 基本的な使用法

return array(    'driver' => 'imagick');
ログイン後にコピー

4. 主な機能

この拡張パックでは、上記で紹介した基本的な使い方に加えて、次の機能もサポートしています。

// 修改指定图片的大小$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 パラメータに従って画像サイズを自動的に調整します
  • その他の例については、公式ドキュメントを参照してください。
  • Laravel 開発者にサービスを提供し、開発者が Laravel フレームワークと開発効率の向上

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート