>백엔드 개발 >PHP 튜토리얼 >이미지 썸네일을 생성하는 기능

이미지 썸네일을 생성하는 기능

WBOY
WBOY원래의
2016-07-25 09:07:14957검색
  1. /**

  2. * 创建图片缩略图,成功返回真
  3. *
  4. * @param string $cat 目录
  5. * @param string $oldname 原图文件名
  6. * @param string $newname 新图文件名
  7. * @param int $width 缩略图宽
  8. * @param int $height 缩略图高
  9. * @return
  10. */
  11. function thumb($cat,$oldname,$newname,$width=160,$height=120){
  12. $srcFile = $cat. "/" .$oldname;
  13. $data = getimagesize($srcFile);
  14. $dscFile = $cat. "/". $newname;

  15. switch ($data[2]) {

  16. case 1:
  17. $im = imagecreatefromgif($srcFile);
  18. break;

  19. case 2:

  20. $im = imagecreatefromjpeg($srcFile);
  21. break;

  22. case 3:

  23. $im = imagecreatefrompng($srcFile);
  24. break;
  25. }

  26. $srcW=imagesx($im);

  27. $srcH=imagesy($im);

  28. if(($srcW/$width)>=($srcH/$height)){

  29. $temp_height=$height;
  30. $temp_width=$srcW/($srcH/$height);
  31. $src_X=abs(($width-$temp_width)/2);
  32. $src_Y=0;
  33. }
  34. else{
  35. $temp_width=$width;
  36. $temp_height=$srcH/($srcW/$width);
  37. $src_X=0;
  38. $src_Y=abs(($height-$temp_height)/2);
  39. }

  40. $temp_img=imagecreatetruecolor($temp_width,$temp_height);

  41. imagecopyresized($temp_img,$im,0,0,0,0,$temp_width,$temp_height,$srcW,$srcH);

  42. $ni=imagecreatetruecolor($width,$height);

  43. imagecopyresized($ni,$temp_img,0,0,$src_X,$src_Y,$width,$height,$width,$height);
  44. $cr = imagejpeg($ni,$dscFile);

  45. if ($cr){

  46. chmod($dscFile, 0777);
  47. return true;
  48. }
  49. }
  50. ?>

复制代码



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.