Heim >php教程 >php手册 >等比例生成缩略图的php程序

等比例生成缩略图的php程序

WBOY
WBOYOriginal
2016-06-13 09:48:591092Durchsuche

等比例生成缩略图的php程序 这个程序很实现,但只是用来进来等比例生成缩略图哦,你要把文件上传到服务器,然后再由此函数来操作,有需要的朋友参考一下。

等比例生成缩略图的php教程程序
这个程序很实现,但只是用来进来等比例生成缩略图哦,你要把文件上传到服务器,然后再由此函数来操作,有需要的朋友参考一下。

function reSizeImg($imgSrc, $resize_width, $resize_height, $isCut=false) {
 //图片的类型
 $type = substr ( strrchr ( $imgSrc, "." ), 1 );
 //初始化图象
 if ($type == "jpg") {
  $im = imagecreatefromjpeg ( $imgSrc );
 }
 if ($type == "gif") {
  $im = imagecreatefromgif ( $imgSrc );
 }
 if ($type == "png") {
  $im = imagecreatefrompng ( $imgSrc );
 }
 //目标图象地址
 $full_length = strlen ( $imgSrc );
 $type_length = strlen ( $type );
 $name_length = $full_length - $type_length;
 $name = substr ( $imgSrc, 0, $name_length - 1 );
 $dstimg = $name . "_s." . $type;

 $width = imagesx ( $im );
 $height = imagesy ( $im );

 //生成图象
 //改变后的图象的比例
 $resize_ratio = ($resize_width) / ($resize_height);
 //实际图象的比例
 $ratio = ($width) / ($height);
 if (($isCut) == 1) //裁图
  {
  if ($ratio >= $resize_ratio) //高度优先
  {
   $newimg = imagecreatetruecolor ( $resize_width, $resize_height );
   imagecopyresampled ( $newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, (($height) * $resize_ratio), $height );
   ImageJpeg ( $newimg, $dstimg );
  }
  if ($ratio   {
   $newimg = imagecreatetruecolor ( $resize_width, $resize_height );
   imagecopyresampled ( $newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, $width, (($width) / $resize_ratio) );
   ImageJpeg ( $newimg, $dstimg );
  }
 } else //不裁图
 {
  if ($ratio >= $resize_ratio) {
   $newimg = imagecreatetruecolor ( $resize_width, ($resize_width) / $ratio );
   imagecopyresampled ( $newimg, $im, 0, 0, 0, 0, $resize_width, ($resize_width) / $ratio, $width, $height );
   ImageJpeg ( $newimg, $dstimg );
  }
  if ($ratio    $newimg = imagecreatetruecolor ( ($resize_height) * $ratio, $resize_height );
   imagecopyresampled ( $newimg, $im, 0, 0, 0, 0, ($resize_height) * $ratio, $resize_height, $width, $height );
   ImageJpeg ( $newimg, $dstimg );
  }
 }
 ImageDestroy ( $im );
}

调用方法简单,直接reSizeImg就可以了,参考很简单。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn