当前位置:首页 > PHP教程 > php图像处理 > 列表

php实现在服务器端调整图片大小的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-28 11:48:09 浏览: 评论:0 

这篇文章主要介绍了php实现在服务器端调整图片大小的方法,实例分析了imageResizer与loadimage操作图片的相关技巧,需要的朋友可以参考下

本文实例讲述了php实现在服务器端调整图片大小的方法。分享给大家供大家参考。具体分析如下:

在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处。

本文介绍了PHP如何在服务器端调整图片大小。

代码包括两部分:

① imageResizer() is used to process the image

② loadimage() inserts the image url in a simpler format

  1. <?php 
  2.  function imageResizer($url$width$height) { 
  3.   header('Content-type: image/jpeg'); 
  4.   list($width_orig$height_orig) = getimagesize($url); 
  5.   $ratio_orig = $width_orig/$height_orig
  6.   if ($width/$height > $ratio_orig) { 
  7.    $width = $height*$ratio_orig
  8.   } else { 
  9.    $height = $width/$ratio_orig
  10.   } 
  11.   // This resamples the image 
  12.   $image_p = imagecreatetruecolor($width$height); 
  13.   $image = imagecreatefromjpeg($url); 
  14.   imagecopyresampled($image_p$image, 0, 0, 0, 0, $width$height$width_orig$height_orig); 
  15.   // Output the image 
  16.   imagejpeg($image_p, null, 100); 
  17.  } 
  18.  //works with both POST and GET 
  19.  $method = $_SERVER['REQUEST_METHOD']; 
  20.  if ($method == 'GET') { 
  21.   imageResize($_GET['url'], $_GET['w'], $_GET['h']); 
  22.   } elseif ($method == 'POST') { 
  23.   imageResize($_POST['url'], $_POST['w'], $_POST['h']); 
  24.   } 
  25.  // makes the process simpler 
  26.  function loadImage($url$width$height){ 
  27.   echo 'image.php?url=', urlencode($url) , 
  28.   '&w=',$width
  29.   '&h=',$height
  30.  } 
  31. ?> 

用法:

  1. //Above code would be in a file called image.php. 
  2. //Images would be displayed like this: 
  3. <img src="<?php loadImage('image.jpg', 50, 50) ?>" alt="" />

Tags: php调整图片大小

分享到: