はじめに
- Intervention Imageを利用して画像を加工する。Intervention Imageは、オープンソースのPHP画像処理および操作ライブラリです。
これは、画像を作成、編集、および作成するためのより簡単で表現力豊かな方法を提供し、現在2つの最も一般的な画像処理ライブラリである
GDLibraryとImagickをサポートしています。
インストール
$ composer require intervention/image
intervention/imageを利用するための設定
config/app.php
ファイルに下記の記述を追記する
'providers' => [
Intervention\Image\ImageServiceProvider::class,
],
'aliases' => [
'Image' => Intervention\Image\Facades\Image::class,
],
- 設定ファイルを変更したので一度キャッシュをクリアする
php artisan config:clear
コード
- 下記のサンプルは画像をリサイズして透かし画像を合成する
use Intervention\Image\Facades\Image;
// 加工する画像のパスを指定する
$img = Image::make('public/img/example.jpg');
// 指定する画像をリサイズする
$img->resize(320, 240);
// 加工する画像の上に指定した画像を重ねる。
$img->insert('public/img/example2.jpg');
// 上記の2つの加工処理をした画像をファイル名を指定して保存する
$img->save('/public/img/hoge.jpg');
- テキストを画像に加工する場合のサンプル。日本語は文字化けするので、何かしらの対応が必要そうです。
$img = Image::make('/srv/www/winlogic/public/img/example.jpg');
// write text
$img->text('ABCDEFG');
// write text at position
$img->text('ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFG.', 120, 100);
// use callback to define details
$img->text('foo', 0, 0, function($font) {
$font->size(24);
$font->color('#fdf6e3');
$font->align('center');
$font->valign('top');
$font->angle(45);
});
// draw transparent text
$img->text('foo', 0, 0, function($font) {
$font->color(array(255, 255, 255, 0.5));
});
$img->save('/srv/www/winlogic/public/img/bar2.jpg');