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的知识
Nov 17 PHP
PHP面向对象编程快速入门
Dec 14 PHP
php数组总结篇(一)
Sep 30 PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 PHP
php 面向对象的一个例子
Apr 12 PHP
PHP获取文件后缀名的三个函数
Oct 15 PHP
PHP递归返回值时出现的问题解决办法
Feb 19 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
php构造函数的继承方法
Feb 09 PHP
浅谈关于PHP解决图片无损压缩的问题
Sep 01 PHP
详解php用static方法的原因
Sep 12 PHP
PHP PDOStatement::rowCount讲解
Feb 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 短链接算法收集与分析
2011/12/30 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
详解基于mpvue微信小程序下载远程图片到本地解决思路
2019/05/16 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
python实现朴素贝叶斯算法
2018/11/19 Python
Python中super函数用法实例分析
2019/03/18 Python
python抖音表白程序源代码
2019/04/07 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
python中pyplot基础图标函数整理
2020/11/10 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
涉外文秘个人求职的自我评价
2013/10/07 职场文书
自考自我鉴定范文
2013/10/30 职场文书
电子信息科学专业自荐信
2014/01/30 职场文书
残疾人创业典型事迹
2014/02/01 职场文书
婚礼主持词开场白
2014/03/13 职场文书
业务内勤岗位职责
2014/04/30 职场文书
2016年校长新年寄语
2015/08/17 职场文书
纪律委员竞选稿
2015/11/19 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫