laravel 图片裁剪

续接 之前的上传方法 http://www.cnblogs.com/muwu/p/9036041.html

laravel裁剪需要用到image包

composer require intervention/image

php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"

 

再ImageUploadHandle中创建裁剪方法

use Image

public function resetingsize( $file_path , $max_width)

{

  $image = Image::make($file_path);       //打开图片实例化

  $image->resize($max_width,null,function($constraint){       //接受两个参数,长和宽,此处接收最大长,高为null,创建匿名函数实现长款等比变大变小

    $constraint->aspeclRatio();     //按比例裁剪

    $constraint->upsize();    ///防止图片变大

  })

  $iamge->save();   //裁剪完了保存

}

 

 

  再上面保存图片到路径中的save()方法中

  save($max_width = false)  增加参数,默认值为false,表示不裁剪

  把save里面的 $file->move() 方法更换:

  if($max_width && $ext != 'png')   //判断是否要求裁剪

  {

    $this->resetingsize( $file_path , $max_width);

  }

  

  其思路就是做了一个接口,如果要限制图片大小,就传递一个最大宽度的参数,这样子再save方法中就可以进行判断,有这个值就进行图片裁剪

  裁剪的思路是,通过路径找到图片,进行宽高等比例裁剪,然后去保存,

 

转载于:https://www.cnblogs.com/muwu/p/9036826.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值