ホームページ > バックエンド開発 > PHPチュートリアル > 簡易PHPサムネイル生成機能

簡易PHPサムネイル生成機能

WBOY
リリース: 2016-07-25 08:48:02
オリジナル
994 人が閲覧しました
シンプルなサムネイル生成機能は、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. * @ブール値を返す
  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 <= 0)
  14. return false;
  15. if (isset($height) && $height return false ;
  16. $size = getimagesize($src);
  17. if (!$size)
  18. return false;
  19. list($src_w, $src_h, $src_type) = $size;
  20. $src_mime = $size['mime' ];
  21. switch($src_type) {
  22. ケース 1 :
  23. $img_type = 'gif';
  24. ブレーク;
  25. ケース 2 :
  26. $img_type = 'jpeg';
  27. ブレーク;
  28. ケース 3 :
  29. $img_type = 'png' ;
  30. ブレーク;
  31. ケース 15 :
  32. $img_type = 'wbmp';
  33. ブレーク;
  34. デフォルト :
  35. return false;
  36. }
  37. if (!isset($width))
  38. $width = $src_w * ($height / $src_h);
  39. if (!isset($height))
  40. $height = $src_h * ($width / $src_w);
  41. $imagecreatefunc = 'imagecreatefrom' $img_type;
  42. $src_img = $imagecreatefunc($src) );
  43. $dest_img = imagecreatetruecolor($width, $height);
  44. imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $width, $height, $src_w, $src_h);
  45. $imagefunc = 'image' . $img_type;
  46. if ($filename) {
  47. $imagefunc($dest_img, $filename);
  48. } else {
  49. header('Content-Type: ' . $src_mime);
  50. $imagefunc($dest_img) ;
  51. }
  52. imagedestroy($src_img);
  53. imagedestroy($dest_img);
  54. return true;
  55. }
  56. simple_thumb("http://www.baidu.com/img/bdlogo.gif", 100);
  57. //simple_thumb("img/example.jpg", 100, null , 'img/example_thumb.jpg');
コードをコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート