Изображения
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();