К содержанию
Medusa
Документация

Изображения

Medusa\Storage\Image предоставляет методы для базовой обработки изображений: обрезки, изменения размера, сохранения и вывода в браузер.

Инициализация

Создайте экземпляр класса и передайте в конструктор имя директории и имя файла:

use Medusa\Storage\Image;

$image = new Image('avatars', 'photo-1');

После этого вы сможете работать с изображением через переменную $image.

Обрезка изображения

Для обрезки используйте метод $image->crop($width, $height, $x = 0, $y = 0).

try {
    $cropped = $image->crop(200, 300, 150, 10);

    if ($cropped) {
        echo 'Изображение обрезано';
    } else {
        throw new \RuntimeException('none');
    }
} catch (RuntimeException $exception) {
    echo "Не удалось обрезать изображение по причине: {$exception->getMessage()}";
}

Изменение размера

Для изменения размера используйте метод $image->resize($width, $height, $blur = 1, $bestFit = false).

try {
    $resized = $image->resize(100, 100, 1, true);

    if ($resized) {
        echo 'Размер изображения изменён';
    } else {
        throw new \RuntimeException('none');
    }
} catch (RuntimeException $exception) {
    echo "Не удалось изменить размер изображения по причине: {$exception->getMessage()}";
}

Сохранение изменений

$saved = $image->save();

if ($saved) {
    echo 'Изменения сохранены';
} else {
    echo 'Не удалось сохранить изменения';
}

Вывод изображения в браузер

Метод $image->render() отправляет HTTP-заголовок Content-Type и бинарное содержимое изображения.

$image->render();