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的十大要点(上)
Feb 04 PHP
php学习之 认清变量的作用范围
Jan 26 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
Jan 11 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
Sep 06 PHP
PHP实现抓取Google IP并自动修改hosts文件
Feb 12 PHP
ThinkPHP静态缓存简单配置和使用方法详解
Mar 23 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
PHP编程获取各个时间段具体时间的方法
May 26 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 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读取数据库信息的几种方法
2008/05/24 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
php设计模式小结
2013/02/15 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
php输出形式实例整理
2020/05/05 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
2016/09/23 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
js判断密码强度的方法
2020/03/18 Javascript
js实现批量删除功能
2020/08/27 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
python连接mysql并提交mysql事务示例
2014/03/05 Python
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
python操作gitlab API过程解析
2019/12/27 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
Python如何定义有默认参数的函数
2020/08/10 Python
如何查看python关键字
2021/01/17 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
MySQL数据迁移相关总结
2021/04/29 MySQL
Python django中如何使用restful框架
2021/06/23 Python