1

我可以在路线内使用此代码显示调整大小的图像,

Route::get('/create', function(){
    $img = Image::make('assets/tes.jpg')->resize(200, 200);
    return $img->response('jpg');
}

但是如何将调整大小的图像从 Controler 返回到 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">

或者我应该在上传时调整大小并保存它,而不是即时调整大小?

谢谢,任何帮助表示赞赏。

4

1 回答 1

2

我应该在上传时重新调整大小并保存它,而不是即时调整大小

是的,如果您担心动态调整图像大小和渲染图像所需的分秒(但值得注意的时间),那么您最好在上传时调整大小并保存各种大小。

来看看如何在视图中显示调整大小的图像:

您可以简单地指定您的路由 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']) !}}">
于 2015-10-08T10:10:49.097 回答