OctoberCMS:在上传时裁剪原始图像

时间:2018-04-28 19:17:49

标签: laravel image-resizing octobercms

给出以下代码:

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

我需要在保存之前裁剪照片(带偏移)。我尝试使用ImageResizer插件,但无法弄清楚如何将其API与上面的代码集成。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:2)

是的,您可以resize image使用plugin,但您甚至不需要它在内部使用OctoberCMS built-in Resize function

首先,您需要将其保存在磁盘上,然后就地调整大小。

  

为此你可以使用10月Cms的内置Resizer https://octobercms.com/docs/api/october/rain/database/attach/resizer

如果您只需阅读 https://octobercms.com/docs/api/october/rain/database/attach/resizer#crop doc,也可以裁剪图片,并且您很乐意去。 如果您需要,还有更多选项。

<?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());

此代码将打开已保存的图像,调整其大小并将其保存在同一位置。

如果您有任何问题,请发表评论。