zoukankan      html  css  js  c++  java
  • laravel 图片裁剪

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

    laravel裁剪需要用到image包

    composer require intervention/image

    php artisan vendor:publish --provider="InterventionImageImageServiceProviderLaravel5"

    再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方法中就可以进行判断,有这个值就进行图片裁剪

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

  • 相关阅读:
    Node.js——fs常用API
    Node.js——Stream
    Node.js——Buffer
    Node.js——post方式提交的图片如何保存
    CSS——BFC
    Node.js——body方式提交数据
    Node.js——基本服务开启
    Node.js——url模块
    Node.js——render封装
    Node.js——开放静态资源原生写法
  • 原文地址:https://www.cnblogs.com/muwu/p/9036826.html
Copyright © 2011-2022 走看看