zoukankan      html  css  js  c++  java
  • 17.ThinkPHP 扩展库:图像处理--生成缩略图

    官方手册:https://www.kancloud.cn/manual/thinkphp5_1/354123

    安装扩展

    使用Composer安装ThinkPHP5的图像处理类库:

    composer require topthink/think-image
    

    image-20200530155751608

    生成缩略图

    使用thumb方法生成缩略图,例如:

    $image = 	hinkImage::open('./image.png');
    // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
    $image->thumb(150, 150)->save('./thumb.png');
    

    注意打开生成缩略图的图片,会被删除保留缩略图

    例:

    自定义函数获取public路径

    <?php
    
    // 应用公共文件
    //得到public路径地址
    //DIRECTORY_SEPARATOR是php的内部常量,用于显示系统分隔符的命令,不需要任何定义与包含即可直接使用
    //window 就是 linux上就是/
    function public_path(){
        return dirname(__DIR__).DIRECTORY_SEPARATOR.'public';
    }
    

    image-20200530162020261

    控制器中使用

    <?php
    
    namespace appadmincontroller;
    use thinkController;
    use thinkImage;
    use thinkRequest;
    class Upload extends Controller
    {
        //上传界面
        public function index(){
            return view('admin@/upload/index');
        }
    
        //上传处理
        public function upload(Request $request){
            //dump($request->file());
            $file = $request->file('pic');
            // 移动到框架应用根目录/uploads/ 目录下
            $info = $file->move( './uploads');
            if($info){
                $savename = '/uploads/'.str_replace('\','/', $info->getSaveName());
    
                //打开图片
                $image = Image::open(public_path().$savename);
                // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
                $image->thumb(150, 150)->save(public_path().$savename);
    
                return json(['static' => 0, 'msg' => $savename]);
            }
            return json(['static' => 1, 'msg' => $file->getError()]);
        }
    }
    

    image-20200530162008701

    运行结果

    image-20200530162228918

    其他还有图像裁剪,翻转,水印等看官方手册即可。

  • 相关阅读:
    nginx 配置文件配置
    源码编译php5.4 ./configure参数
    腾讯云Linux VPS新硬盘分区与挂载教程(面板重装不丢失数据)
    十行代码带你量化交易入门
    谱聚类(转)
    随机模拟(MCMC)
    LDA 线性判别分析
    Windows10上安装Keras 和 TensorFlow-GPU
    ASCII 码
    KL距离,Kullback-Leibler Divergence
  • 原文地址:https://www.cnblogs.com/makalochen/p/12993344.html
Copyright © 2011-2022 走看看