如何减小幼虫的大小和裁剪图像5.2

时间:2016-07-05 04:13:38

标签: php css laravel laravel-5.2

我有用户上传个人资料照片。这些图片在300x300像素时仅在页面上看起来很好。我不希望用户必须裁剪自己的图像。我需要以某种方式在后端自己裁剪图像以使它们成为正方形。

另外,我在验证时设置了文件大小限制,但我不确定上传后是否有办法更改文件大小。例如,我将在主页上显示几个用户的个人资料图片的较小版本。有没有办法减少这个特定页面上的文件大小,以便页面加载更快。

总结:我在laravel中有两个图像问题:

  1. 我想在用户注册时裁剪个人资料照片。
  2. 我想在缩略图时缩小图片的大小。
  3. 以下是我上传个人资料照片的代码。

       public function register(Request $request)
    {
         $this->validate($request,[
            'first_name' => 'required|max:255',
            'family_name' => 'required|max:255',
            'password' => 'required|min:6|confirmed',
            'picture' => 'mimes:jpeg,png|required|max:500',
            // MAKE DESCRIPTION REQUIRED ON DEPLOY 'description' => 'required|min:50' 
        ]);
    
        $user = new User;   
        $user->first_name = $request->first_name;
        $user->family_name = $request->family_name;
        $user->password = $request->password;
        $user->save();
    
        $file = Input::file('picture');
        $file->move(public_path().'/images/',$user->id.'.jpg');
    
        $image = new Image;
        $image->path='/images/'.$user->id.'.jpg';
        $image->user_id = $user->id;
        $image->save();
    
        flash('Thank you for registering. Please verify your email address');
    

    以下是我查看用户个人资料图片的视图。

      <img src={{$image->path}} alt={{$image->path}} style="max-width:300px;max-height:300px;border-radius:10px;"> 
    

1 个答案:

答案 0 :(得分:3)

最好使用InterventionImage这样的作曲家套件。

根据您服务器上的可用内容,它将使用GD2或ImageMagick。