> php教程 > php手册 > php 创建等比例图片代码

php 创建等比例图片代码

WBOY
풀어 주다: 2016-06-13 09:49:02
원래의
1014명이 탐색했습니다.

说 明:$maxwidth和$maxheight只能传递一个,如果传最大宽度将自动计算高度,如果传最大高度将自动计算宽度 * 返 回 值:如果创建成功返回文件保存的地址,否则返回false

 说    明:$maxwidth和$maxheight只能传递一个,如果传最大宽度将自动计算高度,如果传最大高度将自动计算宽度
* 返 回 值:如果创建成功返回文件保存的地址,否则返回false

/************************************************************************
* 函数名称:createSmallImg()
* 函数说明:创建等比例图片
* 输入参数:
 $dir 保存路径
 $source_img 原图片名称
 $small_ex 缩率图文件名后缀
 $maxwidth 最大宽度
 $maxheight 最大高度
* 说    明:$maxwidth和$maxheight只能传递一个,如果传最大宽度将自动计算高度,如果传最大高度将自动计算宽度
* 返 回 值:如果创建成功返回文件保存的地址,否则返回false
* 编 写 者:李小宇
* 编写时间:2011/8/18
**************************************************************************/
function createSmallImg($dir,$source_img,$small_ex="_s",$maxwidth='',$maxheight='') {
 if(!empty($maxwidth) && !empty($maxheight)) {
  return false;
 }
 $img_name=substr($source_img,0,-4);
 $img_ex = strtolower(substr(strrchr($source_img,"."),1));
 /*注释的这段用作直接在浏览器上显示图片
 $im=imagecreatefromjpeg($file);
 header("Content-type: image/jpeg");
 imagejpeg($im);*/
 switch($img_ex) {
  case "jpg":
   $src_img=imagecreatefromjpeg($dir.$source_img);
   break;
  case "gif":
   $src_img=imagecreatefromgif($dir.$source_img);
   break;
  case "png":
   $src_img=imagecreatefrompng($dir.$source_img);
   break;
 }
 $old_width=imagesx($src_img);
 $old_height=imagesy($src_img);
 if(!empty($maxheight) && $old_height>=$maxheight) {
  $new_height=$maxheight;
  $new_width=round(($old_width*$new_height)/$old_height);
 } elseif(!empty($maxwidth) && $old_width>=$maxwidth) {
  $new_width=$maxwidth;
  $new_height=round(($old_height*$new_width)/$old_width);
 }
 if(!empty($new_width) || !empty($new_height)) {
  if($img_ex=="jpg" || $img_ex=="png") {
   $dst_img=imagecreatetruecolor($new_width,$new_height);
  } else {
   $dst_img=imagecreate($new_width,$new_height);
  }
  imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_width,$new_height,$old_width,$old_height);
  $smallname=$dir.$img_name.$small_ex.".".$img_ex;
  switch($img_ex) {
   case "jpg":
    imagejpeg($dst_img,$smallname,100);
    break;
   case "gif":
    imagegif($dst_img,$smallname);
    break;
   case "png":
    imagepng($dst_img,$smallname);
    break;
  }
 }
 return $smallname;
}

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿