Расширение является обёрткой для библиотеки Imagine и добавляет наиболее часто используемые методы обработки изображений. Убедитесь, что вы знакомы с библиотекой "Imagine", прежде чем использовать это расширение.
Следующий пример показывает как использовать расширение:
use yii\imagine\Image;
// сделать рамку, повернуть и сохранить изображение
Image::frame('path/to/image.jpg', 5, '666', 0)
->rotate(-8)
->save('path/to/destination/image.jpg', ['jpeg_quality' => 50]);
Доступны следующие методы обработки изображений:
Image::crop()
- обрезать изображение.Image::autorotate()
- автоматически повернуть изображение, основываясь на метаданных EXIF.Image::thumbnail()
- создать превью-изображение.Image::resize()
- изменить размер изображения.Image::watermark()
- добавить водяной знак на существующее изображение.Image::text()
- добавить текст на существующее изображение.Image::frame()
- добавить рамку вокруг изображения.Обратите внимание, что каждый метод класса Image
возвращает экземпляр \Imagine\Image\ImageInterface
.
Для ознакомления со списком доступных методов обратитесь к документации библиотеки 'Imagine'.
Вы можете указать исходное изображение, используя один из следующих способов:
fopen()
).Imagine\Image\ImageInterface
.Например:
use yii\imagine\Image;
// используя псевдонимы путей
Image::crop('@app/src/image.jpg', 100, 100)
->save('path/to/destination/image.jpg');
// используя поток
$resource = fopen('/path/to/src/image.jpg', 'r');
Image::crop($resource, 100, 100)
->save('/path/to/destination/image.jpg');
// используя экземпляр `Imagine\Image\ImageInterface`
$binarySource = file_get_contents('/path/to/src/image.jpg');
$image = Image::getImagine()->load($binarySource);
Image::crop($resource, 100, 100)
->save('/path/to/destination/image.jpg');
Note: псевдонимы пути Yii доступны для указания исходных изображений, но их нельзя использовать в методе
save()
, так как этот метод принадлежит библиотеке 'Imagine', которая не знает о Yii и его возможностях.