ホームページ > バックエンド開発 > PHPチュートリアル > PHPが画像を動的に処理した後の出力表示

PHPが画像を動的に処理した後の出力表示

WBOY
リリース: 2016-07-25 08:43:06
オリジナル
1208 人が閲覧しました
php
PHP は画像のサイズを動的に変更して出力します。画像を出力する場合は、次のアドレスを使用します。
image_resize.php?img=image.jpg&w=150&h=150&constrain=1
w と h は表示されるサイズです
  1. header ("Content-type: image/jpeg");
  2. /*
  3. JPEG / PNG Image Resizer
  4. パラメータ (URL 経由で渡されます):
  5. img = jpeg または png 画像ファイルのパス / URL
  6. percent = これが定義されている場合、画像はパーセント単位の
  7. 値によってサイズ変更されます (つまり、50 で割るには 50 パーセント)
  8. w = 画像の幅
  9. h = 画像height
  10. constrain = このパラメーターが渡され、w と h がサイズ値に設定
  11. されている場合、結果の画像のサイズは、小さい方の寸法によって制限されます
  12. PHP GD 拡張機能が必要です
  13. 結果の画像を出力しますJPEG 形式
  14. 作成者: Michael John G. Lopez - www.sydel.net
  15. ファイル名 : imgsize.php
  16. */
  17. $img = $_GET['img'];
  18. $percent = $_GET['percent' ] ;
  19. $constrain = $_GET['constrain'];
  20. $w = $_GET['w'];
  21. $h = $_GET['h'];
  22. // img
  23. $x の画像サイズを取得= @getimagesize($img);
  24. // 画像の幅
  25. $sw = $x[0];
  26. // 画像の高さ
  27. $sh = $x[1];
  28. if ($percent > 0) {
  29. / / パーセントが定義されている場合、サイズ変更された高さと幅を計算します
  30. $w = $sw * $percent;
  31. $h = $sh * $percent;
  32. } else {
  33. if (isset ($ w ) AND !isset ($h)) {
  34. // 幅のみが設定されている場合は高さを自動計算します
  35. $h = (100 / ($sw / $w)) * .01;
  36. $h = @round ($sh * $ h);
  37. } elseif (isset ($h) AND !isset ($w)) {
  38. // 高さのみが設定されている場合は幅を自動計算します
  39. $w = (100 / ($sh / $h)) * .01 ;
  40. $w = @round ($sw * $w);
  41. } elseif (isset ($h) AND isset ($w) AND isset ($constrain)) {
  42. // 高さが両方とも小さい方の画像寸法を取得します
  43. // width が設定され、$constrain も設定されます
  44. $hx = (100 / ($sw / $w)) * .01;
  45. $hx = @round ($sh * $hx);
  46. $wx = (100 / ($sh / $h)) * .01;
  47. $wx = @round ($sw * $wx);
  48. if ($hx < $h) {
  49. $h = (100 / ( $ sw / $w)) * .01;
  50. $h = @round ($sh * $h);
  51. } else {
  52. $w = (100 / ($sh / $h)) * .01;
  53. $ w = @round ($sw * $w);
  54. }
  55. }
  56. }
  57. $im = @ImageCreateFromJPEG ($img) または // JPEG 画像を読み取ります
  58. $im = @ImageCreateFromPNG ($img) または // または PNG Image
  59. $im = @ImageCreateFromGIF ($img) または // または GIF Image
  60. $im = false; // 画像が JPEG、PNG、または GIF でない場合
  61. if (!$im) {
  62. // エラーが発生します。 PHP の ImageCreate 関数から...
  63. // それでは、実際の画像の内容をエコーバックしましょう。
  64. readfile ($img);
  65. } else {
  66. // サイズ変更された画像の出力先を作成します
  67. $thumb = @ImageCreateTrueColor ($w, $ h);
  68. // 画像ソースからコピーし、サイズを変更して、画像の保存先に貼り付けます
  69. @ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh) ;
  70. // サイズ変更された画像を出力します
  71. @ImageJPEG ($thumb);
  72. }
  73. ?>
コードをコピーします

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