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进行表单验证具体实例
Oct 17 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
php获取'/'传参的值简单方法
Jul 13 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
php 读取文件夹下所有图片、文件的实例
Oct 17 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
PHP创建XML接口示例
Jul 04 PHP
如何通过PHP实现Des加密算法代码实例
May 09 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
php基于session实现数据库交互的类实例
2015/08/03 PHP
PHP可变变量学习小结
2015/11/29 PHP
javascript AutoScroller 函数类
2009/05/29 Javascript
javascript,jquery闭包概念分析
2010/06/19 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
es6数据变更同步到视图层的方法
2019/03/04 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
python网络编程之读取网站根目录实例
2014/09/30 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
pandas多级分组实现排序的方法
2018/04/20 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Django 大文件下载实现过程解析
2019/08/01 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
容易被忽略的Python内置类型
2020/09/03 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
元旦晚会邀请函
2014/02/01 职场文书
班主任个人工作反思
2014/04/28 职场文书
服务承诺书范文
2014/05/19 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python