OctoberCMS: обрезка исходного изображения при загрузке - PullRequest
0 голосов
/ 28 апреля 2018

С учетом следующего кода:

$car= new Car();
$car->name = Input::get('name');
$car->photo = Input::file('photo');
$car->save();

Мне нужно обрезать фотографию (со смещением) перед ее сохранением. Я попытался использовать плагин ImageResizer , но не смог понять, как интегрировать его API с приведенным выше кодом. Любой совет будет оценен.

1 Ответ

0 голосов
/ 28 апреля 2018

Да, вы можете resize image использовать это plugin, но вам это даже не нужно, поскольку для внутреннего использования он также использует OctoberCMS built-in Resize function.

Сначала необходимо сохранить его на диске, а затем изменить его размер на месте.

для этого вы можете использовать встроенный в October Cms 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());

Этот код откроет сохраненное изображение, изменит его размер и сохранит его в том же месте.

Если у Вас возникли проблемы, пожалуйста, прокомментируйте.

...