#Размеры изображения
#Получение ширины в пикселях
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');