千家信息网

CI框架封装的常用图像处理方法有哪些

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇文章为大家展示了CI框架封装的常用图像处理方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。其实微信手机端上图时,列表图最好是缩略图,节省流量,这不
千家信息网最后更新 2026年11月04日CI框架封装的常用图像处理方法有哪些

本篇文章为大家展示了CI框架封装的常用图像处理方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

其实微信手机端上图时,列表图最好是缩略图,节省流量,这不,又被移动坑了一把,话费签一分就停机,流量欠到90块才停机,我也是醉了。。。

不说废话了,下面是用CI 的内置处理图像的库写的

/*** 生成缩略图* @param  $path 原图的本地路径* @return null 创建一个 原图_thumb.扩展名 的文件**/public function dealthumb($path){    $config['image_library'] = 'gd2';    $config['source_image'] = $path;    $config['create_thumb'] = TRUE;    //生成的缩略图将在保持纵横比例 在宽度和高度上接近所设定的width和height    $config['maintain_ratio'] = TRUE;    $config['width'] = 80;    $config['height'] = 80;    $this->load->library('image_lib', $config);    $this->image_lib->resize();    $this->image_lib->clear();}/** 处理图像旋转*/public function transroate($path,$imgpath){    $this->load->library('image_lib');    //(必须)设置图像库    $config['image_library'] = 'gd2';    $newname = time().'_rote.jpg';    //设置图像的目标名/路径    $config['new_image'] =$imgpath.$newname;    //(必须)设置原始图像的名字/路径    $config['source_image'] = $path;    //决定新图像的生成是要写入硬盘还是动态的存在    $config['dynamic_output'] = FALSE;    //设置图像的品质。品质越高,图像文件越大    $config['quality'] = '90%';    //有5个旋转选项 逆时针90 180 270 度 vrt 竖向翻转 hor 横向翻转    $config['rotation_angle'] = 'vrt';    $this->image_lib->initialize($config);    if(@$this->image_lib->rotate()){      $this->image_lib->clear();      return $config['new_image'];    }else{      $this->image_lib->clear();      return '';    }}/*** 处理图像水印*/public function overlay($path,$imgpath){    $this->load->library('image_lib');    $newname = time().'_over.jpg';    //设置新图像名称    $config['new_image'] =$imgpath.$newname;    //调用php gd库 绘图    $config['image_library'] = 'gd2';    //源图像 本地地址    $config['source_image'] = $path;    //覆盖文字    $config['wm_text'] = 'Copyright 2015 - Friker';    //覆盖类型 文字/图像    $config['wm_type'] = 'text';    //文字字体类型    //$config['wm_font_path'] = 'C:\Windows\Fonts\vrinda.ttf';    //字体大小    $config['wm_font_size'] = '16';    //字体颜色    $config['wm_font_color'] = 'ff0000';    //垂直方向距离顶端距离    $config['wm_vrt_alignment'] = '20';    //水平方向距离左端距离    $config['wm_hor_alignment'] = 'center';    //padding    $config['wm_padding'] = '20';    $this->image_lib->initialize($config);    if($this->image_lib->watermark()){      $this->image_lib->clear();      return $config['new_image'];    }else{      $this->image_lib->clear();      return '';    }}/***  处理图片上传*  文件上传类 通过前台 上传文件*/public function uploadfile(){    //文件上传部分    // 处理文件    // $data = '';    $this->load->helper('url');    $formpic = key($_FILES);    //文件处理部分    if(false === empty($_FILES[$formpic]['tmp_name'])){      //设置文件上传的路径      $upload['upload_path'] = "./public/img/";      //限制文件上传的类型      $upload['allowed_types'] = 'jpeg|jpg|gif|png';      //限制文件上传的大小      $upload['max_size'] = 2048;      //设置文件上传的路径      $upload['file_name'] = date('YmdHis', time()).rand(10000, 99999);      //加载文件上传配置信息      $this->load->library('upload', $upload);      //处理文件上传      $this->upload->do_upload($formpic);      //返回文件上传信息      $image = $this->upload->data();      /*       'file_name' => string '2015071702051718388.jpg' (length=23)       'file_type' => string 'image/jpeg' (length=10)       'file_path' => string 'E:/wamp/www/testci/public/img/' (length=30)       'full_path' => string 'E:/wamp/www/testci/public/img/2015071702051718388.jpg' (length=53)       'raw_name' => string '2015071702051718388' (length=19)       'orig_name' => string '2015071702051718388.jpg' (length=23)       'client_name' => string 'u=415761610,1548338330&fm=116&gp=0.jpg' (length=38)       'file_ext' => string '.jpg' (length=4)       'file_size' => float 3.74       'is_image' => boolean true       'image_width' => int 146       'image_height' => int 220       'image_type' => string 'jpeg' (length=4)       'image_size_str' => string 'width="146" height="220"' (length=24)       */      //var_dump($image);      //返回文件上传名字      $data = $image['file_name'];      $this->dealthumb($image['full_path']);      $this->overlay($image['full_path'],$image['file_path']);      $this->transroate($image['full_path'],$image['file_path']);//      $thumbdata = '';      //生成缩略图名称      $pos = strripos($image['file_name'], ".");      $newname = substr($image['file_name'], 0,$pos)."_thumb".substr($image['file_name'], $pos);      if(file_exists($image['file_path'].$newname)){        $thumbdata = $newname;      }    }    //$dirroot = $_SERVER['DOCUMENT_ROOT'];    //$this->dealthumb($dirroot."/public/img/".$data);    //上传失败    if(!$data){      echo json_encode(array('status'=>0,'msg'=>"上传失败!"));    }else{    //上传成功      echo json_encode(array(        'name'=>$data,        'pic'=>base_url()."public/img/".$data,        'picthumb'=>$thumbdata == '' ?$data:$thumbdata        ));    }}

下面是前端的基本html代码:

(最佳大小为 80 X 80 像素)

上述内容就是CI框架封装的常用图像处理方法有哪些,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

文件 图像 处理 路径 生成 大小 字体 文字 类型 部分 图像处理 常用 方法 框架 封装 信息 内容 原图 名字 品质 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳九邦互联网科技有限公司 河南云网互联网络科技有限公司 美国互联网科技巨头监管 互联网科技开发公司 互联网科技公司怎么样 西安互联网科技公司 互联网 科技馆 云创客互联网科技公司 金融科技与互联网金融相同和不同 互联网科技与管理 燊美集互联网科技有限公司 长沙茂晟互联网科技有限公司 滨湖区互联网智能科技产品有哪些 南通创西澳互联网科技有限公司 郑州欣桑互联网科技有限公司 上海乐五互联网科技有限公司 福州德业互联网科技 世界互联网科技成果奖 上海旺乐尼互联网科技有限公司 利用互联网等科技手段 华服互联网科技怎么样 互联网科技会 鑫亿盛互联网科技 互联网金融和金融科技 佩信高科技互联网 互联网5g黑科技有哪些 互联网科技的全部知识 黑科技 体验场景 互联网大会 互联网科技大会大佬 长沙易易互联网科技有限公司
0