#画像サイズ
#ピクセル幅を読み取る
public Image::width(): integer
インスタンスからピクセル単位の幅を読み取ります。
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// 希望するドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(new Driver());
// 画像を読み込む
$image = $manager->read('images/example.png');
// 画像の幅を読み取る
$width = $image->width();
#ピクセル高さを読み取る
public Image::height(): integer
画像インスタンスからピクセル単位の高さを読み取ります。
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// 希望するドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(new Driver());
// 画像を読み込む
$image = $manager->read('images/example.png');
// 画像の高さを読み取る
$height = $image->height();
#画像サイズをオブジェクトとして取得する
public Image::size(): SizeInterface
画像インスタンスからピクセルサイズを取得します。
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// 希望するドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(Driver::class);
// 画像を読み込む
$image = $manager->read('images/example.png');
// 画像サイズを取得する
$size = $image->size();
// アスペクト比を取得する
$ratio = $size->aspectRatio();
// 画像の向きを判定する
$is_portrait = $size->isPortrait(); // true
$is_landscape = $size->isLandscape(); // false
// サイズから幅を読み取る
$width = $size()->width();
#画像解像度
#画像の解像度を読み取る
public Image::resolution(): ResolutionInterface
現在のインスタンスの画像解像度(DPI)を読み取ります。
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// 希望するドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(Driver::class);
// 画像を読み込む
$image = $manager->read('images/example.png');
// 画像解像度オブジェクトを取得する
$resolution = $image->resolution();
// 解像度を dpcm に変換する
$resolution = $resolution->perCm();
// 各軸の解像度を読み取る
$x = $resolution->x();
$y = $resolution->y();
#画像解像度を設定する
public Image::setResolution(float $x, float $y): ImageInterface
各軸の画像解像度を DPI で設定します。解像度は、この機能をサポートする画像フォーマットでのみエンコードされる点に注意してください。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| x | float | x軸の解像度 |
| y | float | y軸の解像度 |
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// 希望するドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(new Driver());
// 画像を読み込む
$image = $manager->read('images/example.jpg');
// 画像の解像度を 300 DPI に設定する
$image->setResolution(300, 300);
#Exif情報
現状、Intervention Image は Exif 情報の読み取りのみ対応しています。Exif データブロックの書き込み機能は実装されていません。
#Exif情報を読み取る
public Image::exif(null|string $query = null): mixed
この関数は現在の画像インスタンスから Exif 情報を読み取ります。パラメータを渡すことで、Exif データから特定の情報ブロックを直接取得できます。パラメータを渡さない場合はすべてのデータが返されます。指定したブロックが見つからない場合は、結果として null が返ります。
この関数を使用するには、PHP の Exif 拡張がインストールされている必要があります。
#パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| query | string or null | Exif 情報のブロックを直接指定して取得できます(省略可) |
#例
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// 希望するドライバーで新しいマネージャインスタンスを作成します
$manager = new ImageManager(new Driver());
// 画像を読み込む
$image = $manager->read('images/example.jpg');
// 特定の Exif データを読み取る
$camera = $image->exif('IFD0.Model');
// すべての Exif 情報を読み取る
$all = $image->exif();
// Exif データブロックはオブジェクトからも問い合わせできます
$camera = $all->get('IFD0.Model');