ホームページ >バックエンド開発 >PHPチュートリアル >サーバー側で画像のサイズを変更する方法

サーバー側で画像のサイズを変更する方法

WBOY
WBOYオリジナル
2016-07-25 09:09:261153ブラウズ
サーバー側で画像サイズを調整すると、ブラウザーで処理する場合に比べて多くの利点があります。
この記事では、PHP がサーバー側で画像のサイズを変更する方法を紹介します。
コードには 2 つの部分が含まれています。
  • imageResizer()は画像の処理に使用されます
  • loadimage() は画像 URL をより単純な形式で挿入します
  1. function imageResizer($url, $width, $height) {
  2. header('Content-type: image/jpeg');
  3. list($width_orig, $height_orig) = getimagesize ($url);
  4. $ratio_orig = $width_orig/$height_orig;
  5. if ($width/$height > $ratio_orig) {
  6. $width = $height*$ratio_orig;
  7. } else {
  8. $height = $ width/$ratio_orig;
  9. }
  10. // 画像をリサンプリングします
  11. $image_p = imagecreatetruecolor($width, $height);
  12. $image = imagecreatefromjpeg($url);
  13. imagecopyresampled($image_p, $image, 0, 0 , 0, 0, $width, $height, $width_orig, $height_orig);
  14. // 画像を出力します
  15. imagejpeg($image_p, null, 100);
  16. }
  17. // POST と GET の両方で動作します
  18. $method = $_SERVER['REQUEST_METHOD'];
  19. if ($method == 'GET') {
  20. imageResize($_GET['url'], $_GET['w'], $_GET['h' ]);
  21. } elseif ($method == 'POST') {
  22. imageResize($_POST['url'], $_POST['w'], $_POST['h']);
  23. }
  24. // 処理が簡単になります
  25. function loadImage($url, $width, $height){
  26. echo 'image.php?url=', urlencode($url) ,
  27. '&w=',$width,
  28. '&h= ',$height;
  29. }
  30. ?>
コードをコピー
  1. //上記のコードは、image.php.というファイル内にあります。
  2. //画像は次のように表示されます:
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。