我可以用这段代码在route中显示缩放后的图像,
Route::get('/create', function(){
$img = Image::make('assets/tes.jpg')->resize(200, 200);
return $img->response('jpg');
}
但是我如何从控制器返回缩放后的图像到视图呢?
这是我的控制器
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']) !}}">