サイトを更新しています。 数日間、レイアウトや翻訳に不具合が出ることがあります。ドキュメントは引き続きご利用いただけます。表示が崩れている場合は、後ほど再読み込みしてください。

ホーム image 3.x 設定とドライバー

設定とドライバー

3.x 2026年3月7日

#新しい 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 のさまざまなメソッドの詳細は インスタンス化の節 を参照してください。