zoukankan      html  css  js  c++  java
  • PHP图片压缩功能(按比例图片缩放)(转载)

     1 <?php
     2 function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
     3  {
     4   $pic_width = imagesx($im);
     5   $pic_height = imagesy($im);
     6  
     7   if(($maxwidth && $pic_width > $maxwidth) || ($maxheight && $pic_height > $maxheight))
     8   {
     9    if($maxwidth && $pic_width>$maxwidth)
    10    {
    11     $widthratio = $maxwidth/$pic_width;
    12     $resizewidth_tag = true;
    13    }
    14  
    15    if($maxheight && $pic_height>$maxheight)
    16    {
    17     $heightratio = $maxheight/$pic_height;
    18     $resizeheight_tag = true;
    19    }
    20  
    21    if($resizewidth_tag && $resizeheight_tag)
    22    {
    23     if($widthratio<$heightratio)
    24      $ratio = $widthratio;
    25     else
    26      $ratio = $heightratio;
    27    }
    28  
    29    if($resizewidth_tag && !$resizeheight_tag)
    30     $ratio = $widthratio;
    31    if($resizeheight_tag && !$resizewidth_tag)
    32     $ratio = $heightratio;
    33  
    34    $newwidth = $pic_width * $ratio;
    35    $newheight = $pic_height * $ratio;
    36  
    37    if(function_exists("imagecopyresampled"))
    38    {
    39     $newim = imagecreatetruecolor($newwidth,$newheight);//PHP系统函数
    40       imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);//PHP系统函数
    41    }
    42    else
    43    {
    44     $newim = imagecreate($newwidth,$newheight);
    45       imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
    46    }
    47  
    48    $name = $name.$filetype;
    49    imagejpeg($newim,$name);
    50    imagedestroy($newim);
    51   }
    52   else
    53   {
    54    $name = $name.$filetype;
    55    imagejpeg($im,$name);
    56   }
    57  }
    58 //使用方法:
    59 $im=imagecreatefromjpeg("1.jpg");//参数是图片的存方路径
    60 $maxwidth="600";//设置图片的最大宽度
    61 $maxheight="400";//设置图片的最大高度
    62 $name="123";//图片的名称,随便取吧
    63 $filetype=".jpg";//图片类型
    64 resizeImage($im,$maxwidth,$maxheight,$name,$filetype);//调用上面的函数
  • 相关阅读:
    springboot @value 注解的使用
    Django时间时区问题(received a naive datetime while time zone support is active
    乐观锁与悲观锁
    Django 从入门到放弃
    根据数据库表生成 model 类
    Django CSRF攻击
    Django的orm的 数据库查询语法大全
    js常用函数、书写可读性的js、js变量声明...
    Web Worker
    css编写规范
  • 原文地址:https://www.cnblogs.com/HoverM/p/8111566.html
Copyright © 2011-2022 走看看