PHP 实现等比压缩图片尺寸和大小实例代码

字号+ 作者:alpha 来源:www.seoalphas.com 2017-09-14 08:20 浏览次数(448)

在实际运用中,等比例压缩图片往往用到当上传图片较大的时候,经过处理能够较少的占用空间,而且当用户浏览页面的时候,加载速度也会比较快,提用户体验。

在实际运用中,等比例压缩图片往往用到当上传图片较大的时候,经过处理能够较少的占用空间,而且当用户浏览页面的时候,加载速度也会比较快,提用户体验。

<?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);
   }
}

在上述代码中用到了imagecopyresized()函数,不懂的可以看这里:PHP 拷贝图像 imagecopy 与 imagecopyresized 函数


标签
图片压缩

本站部分技术文章为参考网上实用内容发布,目的是记录踩坑经验,若未备注来源而侵犯了您原创文章权益,请联系博主删除;对文章有不同看法的朋友欢迎在评论区留言互动

相关文章
  • php图片添加文字水印 以及图片合成加水印图片

    php图片添加文字水印 以及图片合成加水印图片

    浏览次数:1784

  • php获取文章中图片img标签方法

    php获取文章中图片img标签方法

    浏览次数:903

  • PHP 拷贝图像 imagecopy 与 imagecopyresized 函数

    PHP 拷贝图像 imagecopy 与 imagecopyresized 函数

    浏览次数:534

  • PHP中imagecopyresampled参数详解

    PHP中imagecopyresampled参数详解

    浏览次数:486

  • PHP GD2知识点:imagecreatetruecolor()和imagecreate()的区别

    PHP GD2知识点:imagecreatetruecolor()和imagecreate()的区别

    浏览次数:115

  • PHP实例代码:使用GD函数库制作缩略图+保存本地

    PHP实例代码:使用GD函数库制作缩略图+保存本地

    浏览次数:93

  • php图形图像处理技术 GD库

    php图形图像处理技术 GD库

    浏览次数:84

  • PHP图片处理常用系统函数汇总

    PHP图片处理常用系统函数汇总

    浏览次数:82

网友点评
功能开发中......其实是博主懒了而已......
0.687500s