Я могу показать измененное изображение с этим кодом внутри маршрута,
Route::get('/create', function(){
$img = Image::make('assets/tes.jpg')->resize(200, 200);
return $img->response('jpg');
}
Но как я могу вернуть измененное изображение с Controler to View?
Вот мой контроллер
publc function show($id){
$image = /*What code here ? resize assets/tes.jpg to 200x200*/
return view('some', compact('image'));
}
Вот мой взгляд some.blade.php
<img src="$image">
или я должен изменить размер при загрузке и сохранить его, а не изменять размер на лету?
Спасибо, любая помощь оценили.
я должен изменить размер при загрузке и сохранить его, а не изменять размер на лету
Да, если вас беспокоит секундная смена (но заметное время), требуется перемасштабирование и рендеринг изображений "на лету", тогда вам будет лучше с повторной калибровкой при загрузке и сохранении различных размеров.
Представление о том, как отображать изображение с измененным размером в представлении:
Вы можете просто указать URL своего маршрута:
Я использую public_path("/assets/$img")
потому что предполагаю, что ваши изображения находятся в public\assets
Маршрут:
Route::get('/assets/{img}',function($img){
return \Image::make(public_path("/assets/$img"))->resize(200, 200)->response('jpg');
});
Вы даже можете играть с размерами:
Route::get('/assets/{img}/{h}/{w}',function($img, $h=200, $w=200){
return \Image::make(public_path("/assets/$img"))->resize($h, $w)->response('jpg');
});
Позже в представлении:
<img src="{!! url('assets', ['tes.jpg']) !}}">