干预:两次调整图像大小?

时间:2016-06-05 17:50:38

标签: php laravel laravel-5 laravel-5.2 intervention

我想使用Intervention两次调整图片大小。

我目前有这个:

$img = Image::make($image_url);

$img_path = public_path() . '/images/';

$img->fit(500, 250);
$img->save($img_path . '/img_250.jpg');

$img = Image::make($image_url);

$img->fit(100, 100);
$img->save($img_path . '/img_100.jpg');

如您所见,我首先要将原始图像的大小调整为500x250,然后我想再次调整原始图像不是500x250图像)的大小100×100。

有没有办法在不调用Image::make()两次的情况下执行此操作?

2 个答案:

答案 0 :(得分:6)

以下是答案:

http://image.intervention.io/api/reset

// create an image
$img = Image::make('public/foo.jpg');

// backup status
$img->backup();

// perform some modifications
$img->resize(320, 240);
$img->invert();
$img->save('public/small.jpg');

// reset image (return to backup state)
$img->reset();

// perform other modifications
$img->resize(640, 480);
$img->invert();
$img->save('public/large.jpg');

答案 1 :(得分:0)

我发布此信息是为了帮助可能遇到类似问题的其他人。虽然我们可以实现@ user6421733的答案......这是处理不同尺寸图像的更好方法。

考虑使用Intervention的imagecache可选包。你也可以简单地实现它。 http://image.intervention.io/use/url

它可以让您使用此http://yourhost.com/{route-name}/original/{file-name}等网址,只需付出很少或更少的努力: