图层5:用干预方法显示视图中的图像


Laravel 5: Show image in View with Intervention resize() method

我可以用这段代码在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']) !}}">