欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何在服务器端调整图片大小

程序员文章站 2024-04-06 08:51:55
...
在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处。
本文介绍了PHP如何在服务器端调整图片大小。
代码包括两部分:
  • imageResizer() is used to process the image
  • loadimage() inserts the image url in a simpler format
  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. // This resamples the image
  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. // Output the image
  15. imagejpeg($image_p, null, 100);
  16. }
  17. //works with both POST and 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. // makes the process simpler
  25. function loadImage($url, $width, $height){
  26. echo 'image.php?url=', urlencode($url) ,
  27. '&w=',$width,
  28. '&h=',$height;
  29. }
  30. ?>
复制代码
  1. //Above code would be in a file called image.php.
  2. //Images would be displayed like this:
  3. 如何在服务器端调整图片大小
复制代码