简单的PHP生成缩略图函数

WBOY
Freigeben: 2016-07-25 08:48:02
Original
969 Leute haben es durchsucht
简单的生成缩略图函数,支持图片格式:gif、jpeg、png和bmp,支持缩放到固定大小或进行等比缩放,支持直接输入到浏览器或保存到文件。
  1. /**
  2. * 简单的生成缩略图函数(支持图片格式:gif、jpeg、png和bmp)
  3. * @author xiaoshuoit@163.com
  4. * @param string $src 源图片路径
  5. * @param int $width 缩略图宽度(只指定高度时进行等比缩放)
  6. * @param int $width 缩略图高度(只指定宽度时进行等比缩放)
  7. * @param string $filename 保存路径(不指定时直接输出到浏览器)
  8. * @return bool
  9. */
  10. function simple_thumb($src, $width = null, $height = null, $filename = null) {
  11. if (!isset($width) && !isset($height))
  12. return false;
  13. if (isset($width) && $width return false;
  14. if (isset($height) && $height return false;
  15. $size = getimagesize($src);
  16. if (!$size)
  17. return false;
  18. list($src_w, $src_h, $src_type) = $size;
  19. $src_mime = $size['mime'];
  20. switch($src_type) {
  21. case 1 :
  22. $img_type = 'gif';
  23. break;
  24. case 2 :
  25. $img_type = 'jpeg';
  26. break;
  27. case 3 :
  28. $img_type = 'png';
  29. break;
  30. case 15 :
  31. $img_type = 'wbmp';
  32. break;
  33. default :
  34. return false;
  35. }
  36. if (!isset($width))
  37. $width = $src_w * ($height / $src_h);
  38. if (!isset($height))
  39. $height = $src_h * ($width / $src_w);
  40. $imagecreatefunc = 'imagecreatefrom' . $img_type;
  41. $src_img = $imagecreatefunc($src);
  42. $dest_img = imagecreatetruecolor($width, $height);
  43. imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $width, $height, $src_w, $src_h);
  44. $imagefunc = 'image' . $img_type;
  45. if ($filename) {
  46. $imagefunc($dest_img, $filename);
  47. } else {
  48. header('Content-Type: ' . $src_mime);
  49. $imagefunc($dest_img);
  50. }
  51. imagedestroy($src_img);
  52. imagedestroy($dest_img);
  53. return true;
  54. }
  55. simple_thumb("http://www.baidu.com/img/bdlogo.gif", 100);
  56. //simple_thumb("img/example.jpg", 100, null , 'img/example_thumb.jpg');
复制代码


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage