#明るさ、コントラスト、色
#画像の明るさを変更する
public Image::brightness(int $level): ImageInterface
指定したレベルで現在の画像の明るさを変更します。値は最小の明るさが-100、変更なしが0、最大の明るさが+100の範囲で指定します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| level | integer | 明るさ変更のレベル |
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(new Driver());
// 画像を読み込みます
$image = $manager->read('images/example.png');
// 明るさを増加させます
$image = $image->brightness(35);
#画像のコントラストを変更する
public Image::contrast(int $level): ImageInterface
指定したレベルで現在の画像のコントラストを変更します。値は最小コントラストが-100、変更なしが0、最大コントラストが+100の範囲で指定します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| level | integer | コントラスト変更のレベル |
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(Driver::class);
// 画像を読み込みます
$image = $manager->read('images/example.png');
// コントラストを下げます
$image = $image->contrast(-10);
#ガンマ補正
public Image::gamma(float $gamma): ImageInterface
現在の画像にガンマ補正を適用します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| gamma | float | ガンマ補正値 |
#例
use Intervention\Image\ImageManager;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::gd();
// 画像を読み込みます
$image = $manager->read('images/example.jpg');
// ガンマ補正を適用します
$image = $image->gamma(1.7);
#色補正
public Image::colorize(int $red = 0, int $green = 0, int $blue = 0): ImageInterface
指定した赤・緑・青それぞれの色強度を変更します。入力値は正規化されており、最大の色強度は100、変更なしは0、画像からその色を完全に除去するには-100を指定します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| red | int | 画像内の全ての赤色の強度補正 |
| green | int | 画像内の全ての緑色の強度補正 |
| blue | int | 画像内の全ての青色の強度補正 |
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::withDriver(Driver::class);
// 画像を読み込みます
$image = $manager->read('images/example.jpg');
// 色を青と緑のトーンに変更します
$image = $image->colorize(blue: 15, green: 10);
#画像をグレースケールに変換する
public Image::greyscale(): ImageInterface
現在の画像をグレースケールに変換します。
#例
use Intervention\Image\ImageManager;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::imagick();
// カラー画像を読み込みます
$image = $manager->read('images/example.jpg');
// 画像をグレースケールに変換します
$image = $image->greyscale();
#各種エフェクト
#画像を左右反転する
public Image::flop(): ImageInterface
左右を入れ替えて画像を左右反転します。
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(new Driver());
// 画像を読み込みます
$image = $manager->read('images/example.png');
// 画像を左右反転します
$image = $image->flop();
#画像を上下反転する
public Image::flip(): ImageInterface
上下を入れ替えて画像を上下反転します。
#例
use Intervention\Image\ImageManager;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::imagick();
// 画像を読み込みます
$image = $manager->read('images/example.png');
// 画像を上下反転します
$image = $image->flip();
#画像の回転
public Image::rotate(float $angle, mixed $background = 'ffffff'): ImageInterface
指定した角度だけ現在の画像を反時計回りに回転します。オプションで、回転によってできた未塗りの領域を埋める背景色を指定できます。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| angle | float | 画像を反時計回りに回転させる角度(度) |
| background | mixed | 回転後にできた領域を埋める色 |
#例
use Intervention\Image\ImageManager;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::gd();
// 画像を読み込みます
$image = $manager->read('images/example.png');
// 画像を時計回りに45度回転します
$image = $image->rotate(-45);
#Exifデータに基づく画像の向き調整
public Image::orient(): ImageInterface
このメソッドはExifデータを使って画像を自動的に正しい向きに調整します。この回転はデフォルトで自動的に行われます。 したがって、ImageManager の設定で 自動オリエンテーションを無効にしている場合 を除き、このメソッドを呼び出す必要はありません。
#例
use Intervention\Image\ImageManager;
// Exifの自動オリエンテーションを無効にして新しいマネージャインスタンスを作成します
$manager = ImageManager::gd(autoOrientation: false);
// 画像を読み込みます
$image = $manager->read('images/example.jpg');
// Exifデータに従って画像の向きを調整します
$image = $image->orient();
#ぼかし効果
public Image::blur(int $amount = 5): ImageInterface
現在の画像にガウシアンブラーを適用します。オプションの amount 引数で効果の強さを 0〜100 の範囲で指定できます。
GDドライバーでは、ぼかし量が大きいとこのメソッドはパフォーマンスに負荷がかかります。注意して使用してください。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| amount | integer | 効果の強さ(0 - 100) |
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(Driver::class);
// 画像を読み込みます
$image = $manager->read('images/example.png');
// ぼかし効果を適用します
$image = $image->blur(3);
#シャープ化効果
public Image::sharpen(int $amount = 10): ImageInterface
オプションの amount で現在の画像をシャープ化します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| amount | integer | シャープ化の強さ(0 - 100) |
#例
use Intervention\Image\ImageManager;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::imagick();
// 画像を読み込みます
$image = $manager->read('images/example.png');
// シャープ化効果を適用します
$image = $image->sharpen(3);
#色の反転
public Image::invert(): ImageInterface
現在の画像の全ての色を反転します。
#例
use Intervention\Image\ImageManager;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::gd();
// 画像を読み込みます
$image = $manager->read('images/example.png');
// 色を反転します
$image = $image->invert();
#ピクセル化効果
public Image::pixelate(int $size): ImageInterface
指定したピクセルサイズで現在の画像にピクセル化効果を適用します。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| size | integer | ピクセルのサイズ |
#例
use Intervention\Image\ImageManager;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::withDriver(new Driver());
// 画像を読み込みます
$image = $manager->read('images/example.png');
// ピクセル化効果を適用します
$image = $image->pixelate(12);
#カラー数の削減
public Image::reduceColors(int $limit, mixed $background = 'transparent'): ImageInterface
現在の画像の異なる色数を指定した上限まで減らすことで色量子化を行います。色数は視覚的にできるだけ元の画像に似るように減らされます。
GDドライバーでは、削減処理により半透明な色が透明性を失った場合、それらは指定した背景色と合成されます。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| limit | integer | 許容される異なる色の数 |
| mixed | background | 削減処理で透明性を失った半透明色は指定した背景色と合成されます |
#例
use Intervention\Image\ImageManager;
// 指定したドライバーで新しいマネージャインスタンスを作成します
$manager = ImageManager::imagick();
// 画像を読み込みます
$image = $manager->read('images/example.png');
// 色数を最大16色に量子化します
$image = $image->reduceColors(16);