Heim  >  Artikel  >  Backend-Entwicklung  >  一个创建图片缩略图的函数

一个创建图片缩略图的函数

WBOY
WBOYOriginal
2016-07-25 09:07:14938Durchsuche
  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. ?>
复制代码



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