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中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
destoon各类调用汇总
Jun 20 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
ThinkPHP3.2.3数据库设置新特性
Mar 05 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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实现框架(二)
2006/10/09 PHP
PHP令牌 Token改进版
2008/07/18 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php Calender(日历)代码分享
2014/01/03 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
python选择排序算法实例总结
2015/07/01 Python
json跨域调用python的方法详解
2017/01/11 Python
python的多重继承的理解
2017/08/06 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
代码实例讲解python3的编码问题
2019/07/08 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
COSETTE官网:奢华,每天
2020/03/22 全球购物
英语翻译系毕业生求职信
2013/09/29 职场文书
怎么写好自荐书
2014/03/02 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
MySQL 原理与优化之Limit 查询优化
2022/08/14 MySQL