热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

laravel图片裁剪

续接之前的上传方法http:www.cnblogs.commuwup9036041.htmllaravel裁剪需要用到image包composerrequireinterventi

续接 之前的上传方法 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



推荐阅读
author-avatar
方雅俊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有