Основы использования ==================== Расширение является обёрткой для библиотеки [Imagine](http://imagine.readthedocs.org/) и добавляет наиболее часто используемые методы обработки изображений. Убедитесь, что вы знакомы с библиотекой "Imagine", прежде чем использовать это расширение. Следующий пример показывает как использовать расширение: ```php 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'. ## Определение исходного изображения Вы можете указать исходное изображение, используя один из следующих способов: - путь до файла исходного изображения, также можно использовать псевдонимы Yii. - ресурс-поток (например, результат функции `fopen()`). - экземпляр `Imagine\Image\ImageInterface`. Например: ```php 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 и его возможностях.