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 相关文章推荐
新闻分类录入、显示系统
Oct 09 PHP
PHP 木马攻击防御技巧
Jun 13 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
解析PHP计算页面执行时间的实现代码
Jun 18 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
PHP网页安全认证的实例详解
Sep 28 PHP
PHP iconv()函数字符编码转换的问题讲解
Mar 22 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
实例讲解PHP表单
Jun 10 PHP
PHP终止脚本运行三种实现方法详解
Sep 01 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查看SSL证书信息的方法
2016/09/22 PHP
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
python如何实现异步调用函数执行
2019/07/08 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
应届生求职信写作技巧
2013/10/24 职场文书
大学学年自我鉴定
2013/10/28 职场文书
大学生创业计划书的格式要求
2013/12/29 职场文书
优秀员工演讲稿
2014/05/19 职场文书
企业消防安全责任书
2014/07/23 职场文书
施工安全协议书范本
2014/09/26 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
大学生自荐材料范文
2014/12/30 职场文书
公司业务员管理制度
2015/08/05 职场文书