3

我想使用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 图像)调整为 100x100。

有没有办法在不调用Image::make()两次的情况下做到这一点?

4

2 回答 2

10

这是答案:

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');
于 2016-06-05T21:44:04.220 回答
0

我发布此内容是为了帮助可能遇到类似问题的其他人。虽然我们可以实现@user6421733 的答案......有一种更好的方法来处理不同大小的图像。

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

它可以让您使用这样的 url,http://yourhost.com/{route-name}/original/{file-name}并且只需很少或更少的努力:

于 2018-02-15T17:41:37.150 回答