基于PHP实现等比压缩图片大小

 更新时间:2016年03月04日 11:57:24   作者:zpercx  
通过本段代码给大家介绍基于php实现等比压缩图片大小的相关知识,代码简单易懂,对php压缩图片相关知识感兴趣的朋友参考下吧

废话不多说了,直接给大家贴php等比压缩图片大小的相关代码了,具体代码如下所示:

<?php
$im = imagecreatefromjpeg('D:\phpplace\.jpeg');
resizeImage($im,,,'xinde','.jpg');
function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
{
$pic_width = imagesx($im);
$pic_height = imagesy($im);
echo "start-----------------" ;
if(($maxwidth && $pic_width > $maxwidth) && ($maxheight && $pic_height > $maxheight))
{
if($maxwidth && $pic_width>$maxwidth)
{
$widthratio = $maxwidth/$pic_width;
$resizewidth_tag = true;
}
if($maxheight && $pic_height>$maxheight)
{
$heightratio = $maxheight/$pic_height;
$resizeheight_tag = true;
}
if($resizewidth_tag && $resizeheight_tag)
{
if($widthratio<$heightratio)
$ratio = $widthratio;
else
$ratio = $heightratio;
}
if($resizewidth_tag && !$resizeheight_tag)
$ratio = $widthratio;
if($resizeheight_tag && !$resizewidth_tag)
$ratio = $heightratio;
$newwidth = $pic_width * $ratio;
$newheight = $pic_height * $ratio;
if(function_exists("imagecopyresampled"))
{
$newim = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
}
else
{
$newim = imagecreate($newwidth,$newheight);
imagecopyresized($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
}
$name = $name.$filetype;
imagejpeg($newim,$name);
imagedestroy($newim);
}
else
{
$name = $name.$filetype;
imagejpeg($im,$name);
} 
} 

以上代码内容是小编给大家介绍的基于PHP实现等比压缩图片大小的相关内容,代码简单易懂,哪里写的不好,欢迎各位大侠多多提出宝贵意见,小编非常乐意。

相关文章

  • PHP数组实际占用内存大小原理解析

    PHP数组实际占用内存大小原理解析

    这篇文章主要介绍了PHP数组实际占用内存大小原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • laravel5.1 ajax post 传值_token示例

    laravel5.1 ajax post 传值_token示例

    今天小编就为大家分享一篇laravel5.1 ajax post 传值_token示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能

    php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能

    这篇文章主要介绍了php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Yii 2中的load()和save()示例详解

    Yii 2中的load()和save()示例详解

    这篇文章主要给大家介绍了关于Yii 2中的load()和save()的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用yii2具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
    2017-08-08
  • 如何使用PHP给图片加水印

    如何使用PHP给图片加水印

    这篇文章主要介绍了使用PHP给图片加水印,感兴趣的码农可以参考一下本文章的源代码。
    2016-10-10
  • PHP实现抽奖功能实例代码

    PHP实现抽奖功能实例代码

    这篇文章主要介绍了PHP如何实现抽奖功能,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Laravel框架实现文件上传的方法分析

    Laravel框架实现文件上传的方法分析

    这篇文章主要介绍了Laravel框架实现文件上传的方法,结合实例形式分析了Laravel框架文件上传相关的配置设置、视图及控制器相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • php中看实例学正则表达式

    php中看实例学正则表达式

    php中看实例学正则表达式,下面的文章都是通过实例说明来教你学习正则表达式,需要的朋友可以参考下。
    2006-12-12
  • php微信公众号js-sdk开发应用

    php微信公众号js-sdk开发应用

    这篇文章主要为大家详细介绍了php微信公众号js-sdk开发应用的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • thinkPHP5框架auth权限控制类与用法示例

    thinkPHP5框架auth权限控制类与用法示例

    这篇文章主要介绍了thinkPHP5框架auth权限控制类与用法,结合实例形式分析了thinkPHP5框架扩展auth权限控制类的定义与使用方法,代码注释中备有较为详尽的使用说明与数据库操作语句,需要的朋友可以参考下
    2018-06-06

最新评论