PHP等比例压缩图片的实例代码


Posted in PHP onJuly 26, 2018

具体代码如下所示:

/**
   * 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 相关文章推荐
php.ini 中文版
Oct 28 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
Javascript与PHP验证用户输入URL地址是否正确
Oct 09 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
PHP、Java des加密解密实例
Apr 27 PHP
PHP中使用curl伪造IP的简单方法
Aug 07 PHP
php实现的单一入口应用程序实例分析
Sep 23 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
php的PDO事务处理机制实例分析
Feb 16 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP实现非阻塞模式的方法分析
Jul 26 #PHP
php实现等比例压缩图片
Jul 26 #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
You might like
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
PHP STRING 陷阱原理说明
2010/07/24 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
理解javascript回调函数
2014/12/28 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
在windows下Python打印彩色字体的方法
2018/05/15 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
python 怎样进行内存管理
2020/11/10 Python
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
教师实习自我鉴定
2013/12/14 职场文书
学术会议邀请函范文
2014/01/22 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
教师节班会主持词
2015/07/06 职场文书