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+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
Apr 15 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
php给一组指定关键词添加span标签的方法
Mar 31 PHP
php使用for语句输出三角形的方法
Jun 09 PHP
PHPExcel笔记, mpdf导出
May 03 PHP
CI框架整合smarty步骤详解
May 19 PHP
PHP中抽象类和抽象方法概念与用法分析
May 24 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
JavaScript 学习笔记(六)
2009/12/31 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
学习Node.js模块机制
2016/10/17 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
vue中appear的用法
2017/08/17 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
Python找出list中最常出现元素的方法
2016/06/14 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
python爬虫爬取网页表格数据
2018/03/07 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
Python pymongo模块常用操作分析
2018/09/01 Python
Python3中exp()函数用法分析
2019/02/19 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
应届毕业生自我鉴定范文
2013/12/27 职场文书
全神贯注教学反思
2014/02/03 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
2014年共青团工作总结
2014/12/10 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技