#新しい ImageManager インスタンスを作成
public ImageManager::__construct(string|DriverInterface $driver, mixed ...$options): ImageManager
ImageManager はすべての操作の起点です。このクラスで使用するドライバーや設定オプションを決定し、異なるソースから画像を読み込むために必要なメソッドを呼び出せます。
#ドライバーの選択
ドライバーは内部でどの PHP 画像ライブラリを使用するかを決定します。Intervention Image はさまざまな低レベルの PHP 画像拡張に対する汎用的な API で、現在 2 種類のドライバーが同梱されています。お使いの PHP 環境に応じていずれかを選択してください。
#GD ライブラリ用ドライバー
GD は多くの環境でデフォルトで組み込まれていますが、異なるカラースペースのサポートなど高度な画像処理機能が不足しています。GD はエンコード処理で Exif データをすべて破棄します。GD 用のドライバーはデフォルトで含まれています。
Intervention\Image\Drivers\Gd\Driver
#Imagick 用ドライバー
Imagick は ImageMagick ライブラリへのバインディングを提供する PHP 拡張で、広く使われている強力な画像処理ツールです。経験上、この拡張は GD より高品質な結果を出すことが多いです。ドライバーはデフォルトで含まれています。
Intervention\Image\Drivers\Imagick\Driver
#libvips 用ドライバー
libvips は高速で低メモリの画像処理ライブラリで、他の PHP 画像拡張ライブラリより優れた性能を発揮します。この処理ライブラリのサポートは、Intervention Image を libvips と併用するための 公式ドライバー を通じて利用でき、追加でインストールできます。
Intervention\Image\Drivers\Vips\Driver
#設定オプション
必要に応じて、ライブラリの振る舞いを決定する詳細な設定パラメータをコンストラクタに渡すことができます。
これらのパラメータは、ライブラリが Exif データに基づく画像の向き をどのように扱うか、アニメーションをデコードするか破棄するか、および デフォルトのブレンディングカラー を何にするかに影響します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| driver | string or DriverInterface | Image Manager ドライバーのインスタンス、またはドライバーのクラス名 |
| autoOrientation | bool | (オプション) Exif データに基づいて画像の向きを自動調整するかどうかを決定します。デフォルト: true |
| decodeAnimation | bool | (オプション) もしアニメーション画像であればアニメーションをデコードするか、あるいは破棄するかを決定します。デフォルト: true |
| blendingColor | mixed | (オプション) デフォルトのブレンディングカラー。デフォルト: ffffff |
| strip | bool | (オプション) エンコード時に画像のメタデータを削除するかどうかを決定します。デフォルト: false |
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// 指定したドライバーとデフォルト設定で新しいマネージャーインスタンスを作成する
$manager = new ImageManager(new Driver());
// またはクラス名を使ってデフォルト設定のマネージャーインスタンスを作成する
$manager = new ImageManager(Driver::class);
// 設定オプションを指定した場合の同じ呼び出し
$manager = new ImageManager(
Driver::class,
autoOrientation: false,
decodeAnimation: true,
blendingColor: 'ff5500',
strip: false
);
#静的ヘルパーメソッドで ImageManager の新しいインスタンスを作成
#静的コンストラクタ
public static ImageManager::withDriver(string|DriverInterface $driver, mixed ...$options): ImageManager
この静的ヘルパーメソッドはコンストラクタと同様に動作し、ドライバーのクラス名またはインスタンスと、任意の設定パラメータを受け取ります。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| driver | string or DriverInterface | Image Manager ドライバーのインスタンス、またはドライバーのクラス名 |
| options | mixed | 任意の設定パラメータ |
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// 指定したドライバーで新しいマネージャーインスタンスを作成する
$manager = ImageManager::withDriver(new Driver());
// またはクラス名でマネージャーを作成する
$manager = ImageManager::withDriver(Driver::class);
// 設定オプションを指定した場合の同じ呼び出し
$manager = ImageManager::withDriver(
Driver::class,
autoOrientation: true,
decodeAnimation: true,
blendingColor: 'ff5500',
strip: true
);
#GD ドライバー用静的コンストラクタ
public static ImageManager::gd(mixed ...$options): ImageManager
この GD ドライバー用静的ヘルパーメソッドは、引数やオプションの設定を指定せずに直接新しい ImageManager インスタンスを作成します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| options | mixed | 任意の設定パラメータ |
#例
use Intervention\Image\ImageManager;
// gdドライバーで新しいImageManagerを作成する
$manager = ImageManager::gd();
// 設定オプションを指定した同じ呼び出し
$manager = ImageManager::gd(autoOrientation: false);
#Imagick ドライバー用静的コンストラクタ
public static ImageManager::imagick(mixed ...$options): ImageManager
この静的ヘルパーメソッドは引数を取らず、Imagick ドライバーで直接新しい ImageManager インスタンスを作成します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| options | mixed | 任意の設定パラメータ |
#例
use Intervention\Image\ImageManager;
// imagickドライバーで新しいImageManagerを作成する
$manager = ImageManager::imagick();
// 設定オプションを指定した同じ呼び出し
$manager = ImageManager::imagick(blendingColor: 'fff000');
#ImageManager のドライバーにアクセスする
public ImageManager::driver(): DriverInterface
前述のとおり、ImageManager はドライバーインスタンスを依存として作成されます。このメソッドはそのドライバーに後からアクセスできるようにします。
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// ドライバーでImageManagerを作成する
$manager = new ImageManager(new Driver());
// ImageManagerからドライバーにアクセスする
$driver = $manager->driver();
ImageManager のさまざまなメソッドの詳細は インスタンス化の節 を参照してください。