php实现等比例压缩图片


Posted in PHP onJuly 26, 2018

本文实例为大家分享了php实现等比例压缩图片的具体代码,供大家参考,具体内容如下

/**
   * desription 压缩图片
   * @param sting $imgsrc 图片路径
   * @param string $imgdst 压缩后保存路径
   */
  public function compressedImage($imgsrc, $imgdst) {
    list($width, $height, $type) = getimagesize($imgsrc);
    
    $new_width = $width;//压缩后的图片宽
    $new_height = $height;//压缩后的图片高
        
    if($width >= 600){
      $per = 600 / $width;//计算比例
      $new_width = $width * $per;
      $new_height = $height * $per;
    }
    
    switch ($type) {
      case 1:
        $giftype = check_gifcartoon($imgsrc);
        if ($giftype) {
          header('Content-Type:image/gif');
          $image_wp = imagecreatetruecolor($new_width, $new_height);
          $image = imagecreatefromgif($imgsrc);
          imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
          //90代表的是质量、压缩图片容量大小
          imagejpeg($image_wp, $imgdst, 90);
          imagedestroy($image_wp);
          imagedestroy($image);
        }
        break;
      case 2:
        header('Content-Type:image/jpeg');
        $image_wp = imagecreatetruecolor($new_width, $new_height);
        $image = imagecreatefromjpeg($imgsrc);
        imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
        //90代表的是质量、压缩图片容量大小
        imagejpeg($image_wp, $imgdst, 90);
        imagedestroy($image_wp);
        imagedestroy($image);
        break;
      case 3:
        header('Content-Type:image/png');
        $image_wp = imagecreatetruecolor($new_width, $new_height);
        $image = imagecreatefrompng($imgsrc);
        imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
        //90代表的是质量、压缩图片容量大小
        imagejpeg($image_wp, $imgdst, 90);
        imagedestroy($image_wp);
        imagedestroy($image);
        break;
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
php遍历目录输出目录及其下的所有文件示例
Jan 27 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
php实现概率性随机抽奖代码
Jan 02 PHP
Fleaphp常见函数功能与用法示例
Nov 15 PHP
PHP使用Redis替代文件存储Session的方法
Feb 15 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
Dec 12 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
PHP输出Excel PHPExcel的方法
Jul 26 #PHP
PHP微信H5支付开发实例
Jul 25 #PHP
php app支付宝回调(异步通知)详解
Jul 25 #PHP
php支付宝APP支付功能
Jul 29 #PHP
PHP多个图片压缩成ZIP的方法
Aug 18 #PHP
PHP上传文件及图片到七牛的方法
Jul 25 #PHP
详解PHP版本兼容之openssl调用参数
Jul 25 #PHP
You might like
PHP环境中Memcache的安装和使用
2015/11/05 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
css配合jquery美化 select
2013/11/29 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
vue实现文件上传功能
2018/08/13 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
python中sleep函数用法实例分析
2015/04/29 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
django初始化数据库的实例
2018/05/27 Python
Python使用folium excel绘制point
2019/01/03 Python
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
Shell编程面试题
2012/05/30 面试题
车间组长岗位职责
2013/12/20 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
内勤岗位职责范本
2015/04/13 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
实习单位意见
2015/06/04 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android