Maison >développement back-end >tutoriel php >如何在服务器端调整图片大小

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

WBOY
WBOYoriginal
2016-07-25 09:09:261192parcourir
在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处。
本文介绍了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:
复制代码


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:HTML预览 正则替换 Article suivant:php 无限分类父子追溯方法