服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - PHP等比例压缩图片的实例代码

PHP等比例压缩图片的实例代码

2019-09-18 11:23kaykay012 PHP教程

本文通过一段简单的代码给大家介绍PHP等比例压缩图片的方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

具体代码如下所示:

/**
   * 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扩展mcrypt实现的AES加密功能示例

    PHP扩展mcrypt实现的AES加密功能示例

    这篇文章主要介绍了PHP扩展mcrypt实现的AES加密功能,结合实例形式分析了php基于mcrypt实现AES加密的相关操作技巧,需要的朋友可以参考下...

    five-zh3292019-06-21
  • PHP教程php代码调试利器firephp安装与使用方法分析

    php代码调试利器firephp安装与使用方法分析

    这篇文章主要介绍了php代码调试利器firephp安装与使用方法,简单分析了firephp的下载、安装、测试代码调试等使用方法及相关操作技巧,需要的朋友可以参考下...

    dongxie5483132019-09-10
  • PHP教程Laravel框架实现的批量删除功能示例

    Laravel框架实现的批量删除功能示例

    这篇文章主要介绍了Laravel框架实现的批量删除功能,结合实例形式分析了Laravel框架批量删除功能相关的前端界面布局及后台控制器实现技巧,需要的朋友可以参考下...

    snow_small4782019-07-03
  • PHP教程PHP一致性hash分布式算法封装类定义与用法示例

    PHP一致性hash分布式算法封装类定义与用法示例

    这篇文章主要介绍了PHP一致性hash分布式算法封装类定义与用法,结合完整实例形式分析了一致性hash分布式算法的原理、实现及使用方法,需要的朋友可以参考下 ...

    qw_xingzhe3042019-09-16
  • PHP教程PHP设计模式之建造者模式定义与用法简单示例

    PHP设计模式之建造者模式定义与用法简单示例

    这篇文章主要介绍了PHP设计模式之建造者模式定义与用法,简单描述了建造者模式的概念、原理并结合实例形式分析了建造者模式的具体定义与使用方法,需要的朋友可以参考下...

    hiyanxu2552019-09-12
  • PHP教程浅谈php的TS和NTS的区别

    浅谈php的TS和NTS的区别

    这篇文章主要介绍了php的TS和NTS的区别,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...

    yangzailu3352019-06-01
  • PHP教程php+js实现裁剪任意形状图片

    php+js实现裁剪任意形状图片

    这篇文章主要为大家详细介绍了php+js实现裁剪任意形状图片,类似css mask,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    coder_daiwang4312019-08-30
  • PHP教程PHP levenshtein()函数用法讲解

    PHP levenshtein()函数用法讲解

    今天小编就为大家分享一篇关于PHP levenshtein()函数用法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册1472019-06-03