Вмешательство: изменить размер изображения в два раза?

Я хочу изменить размер изображения дважды, используя 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() дважды?

2 ответа

Вот ответ:

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');

Я публикую это, чтобы помочь другим, кто может столкнуться с подобной проблемой. Хотя мы можем реализовать ответ @user6421733... Есть лучший способ обработки изображений разных размеров.

Подумайте об использовании дополнительного пакета Intercache для imagecache. Вы могли бы реализовать это просто тоже. http://image.intervention.io/use/url

Это может позволить вам использовать URL-адреса, такие как этот http://yourhost.com/{route-name}/original/{file-name} и с небольшим или меньшим усилием:

Другие вопросы по тегам