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 相关文章推荐
Mysql中limit的用法方法详解与注意事项
Apr 19 PHP
php trim 去除空字符的定义与语法介绍
May 31 PHP
php 变量未定义等错误的解决方法
Jan 12 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
PHP中遇到的时区问题解决方法
Jul 23 PHP
Yii2主题(Theme)用法详解
Jul 23 PHP
Laravel5权限管理方法详解
Jul 26 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 PHP
Laravel使用模型实现like模糊查询的例子
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
mysql数据库差异比较的PHP代码
2012/02/05 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
php短址转换实现方法
2015/02/25 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
javascript中String对象的slice()方法分析
2014/12/20 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
Python常见异常分类与处理方法
2017/06/04 Python
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
便捷提取python导入包的属性方法
2018/10/15 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
Python实现爬取并分析电商评论
2020/06/19 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
师范生求职信
2014/06/14 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
教师个人考察材料
2014/12/16 职场文书
六五普法学习心得体会
2016/01/21 职场文书
调解协议书范本
2016/03/21 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python