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制作新闻系统的思路
Oct 09 PHP
关于php正则匹配汉字的方法介绍
Apr 25 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
php去除字符串中空字符的常用方法小结
Mar 17 PHP
PHP 匿名函数与注意事项详细介绍
Nov 26 PHP
简单谈谈 php 文件锁
Feb 19 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
PHP中的函数声明与使用详解
May 27 PHP
PHP实现重载的常用方法实例详解
Oct 18 PHP
如何在PHP中使用数组
Jun 09 PHP
PHP中->和=>的含义及使用示例解析
Aug 06 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用strstr()函数阻止垃圾评论(通过判断a标记)
2013/09/28 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
Python实现端口复用实例代码
2014/07/03 Python
python插入排序算法实例分析
2015/07/03 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
python在每个字符后添加空格的实例
2018/05/07 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
有创意的广告词
2014/03/18 职场文书
校友回访母校寄语
2015/02/26 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
Java SSH 秘钥连接mysql数据库的方法
2021/06/28 Java/Android
Python快速实现一键抠图功能的全过程
2021/06/29 Python
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android