OctoberCMS: обрезка исходного изображения при загрузке
Задается следующий код:
$car= new Car();
$car->name = Input::get('name');
$car->photo = Input::file('photo');
$car->save();
Мне нужно обрезать фотографию (со смещением) перед ее сохранением. Я попытался использовать плагин ImageResizer , но не смог понять, как интегрировать его API с вышеуказанным кодом. Любой совет будет оценен по достоинству.
1 ответ:
Да, вы можете
resize image
использовать этоplugin
, но вам это даже не нужно, так как внутренне он также используетOctoberCMS built-in Resize function
.Сначала вам нужно сохранить его на диске, а затем изменить его размер на месте.
Для этого вы можете использовать встроенную Cms October
Resizer
https://octobercms.com/docs/api/october/rain/database/attach/resizerВы также можете обрезать изображение, если вам нужно просто прочитать https://octobercms.com/docs/api/october/rain/database/attach/resizer#crop док и вы хорошо идете. есть гораздо больше вариантов, если вам нужно.
<?php namespace hardiksatasiya/...somethig; use October\Rain\Database\Attach\Resizer; // ... $car= new Car(); $car->name = Input::get('name'); $car->photo = Input::file('photo'); $car->save(); // code to resize image $width = 100; $height = 100; $options = []; // or ['mode' => 'crop'] Resizer::open($car->photo->getLocalPath()) // create from real path ->resize($width, $height, $options) ->save($car->photo->getLocalPath());
Этот код откроет сохраненное изображение, изменит его размер и сохранит его в том же месте.
Если у вас возникнут какие-либо проблемы, пожалуйста, прокомментируйте.