首页 > 语言 > PHP > 正文

PHP实现压缩图片尺寸并转为jpg格式的方法示例

2024-09-04 11:44:39
字体:大 中 小
来源:转载
供稿:网友

本文实例讲述了PHP实现压缩图片尺寸并转为jpg格式的方法,分享给大家供大家参考,具体如下:

  1. function ImageToJPG($srcFile,$dstFile,$towidth,$toheight) 
  2. { 
  3.   $quality=80; 
  4.   $data = @GetImageSize($srcFile); 
  5.   switch ($data['2']) 
  6.   { 
  7.   case 1: 
  8.     $im = imagecreatefromgif($srcFile); 
  9.     break; 
  10.   case 2: 
  11.     $im = imagecreatefromjpeg($srcFile); 
  12.     break; 
  13.   case 3: 
  14.     $im = imagecreatefrompng($srcFile); 
  15.     break; 
  16.   case 6: 
  17.   $im = ImageCreateFromBMP( $srcFile ); 
  18.   break; 
  19.   } 
  20.   // $dstX=$srcW=@ImageSX($im); 
  21.   // $dstY=$srcH=@ImageSY($im); 
  22.   $srcW=@ImageSX($im); 
  23.   $srcH=@ImageSY($im); 
  24.   //$towidth,$toheight 
  25.   if($toheight/$srcW > $towidth/$srcH){ 
  26.     $b = $toheight/$srcH; 
  27.   }else{ 
  28.     $b = $towidth/$srcW; 
  29.   } 
  30.   //计算出图片缩放后的宽高 
  31.   // floor 舍去小数点部分,取整 
  32.   $new_w = floor($srcW*$b); 
  33.   $new_h = floor($srcH*$b); 
  34.   $dstX=$new_w; 
  35.   $dstY=$new_h; 
  36.   $ni=@imageCreateTrueColor($dstX,$dstY); 
  37.   @ImageCopyResampled($ni,$im,0,0,0,0,$dstX,$dstY,$srcW,$srcH); 
  38.   @ImageJpeg($ni,$dstFile,$quality); 
  39.   @imagedestroy($im); 
  40.   @imagedestroy($ni); 
  41. } 
  42. //ImageToJPG('源文件名','目标文件名',目标宽,目标高); 
  43. ImageToJPG('test2.png','test2.jpg',80,50); 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表