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

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

在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处。
本文介绍了PHP如何在服务器端调整图片大小。

代码包括两部分:

① imageResizer() is used to process the image
② loadimage() inserts the image url in a simpler format

<?php
 function imageResizer($url, $width, $height) {
  header('Content-type: image/jpeg');
  list($width_orig, $height_orig) = getimagesize($url);
  $ratio_orig = $width_orig/$height_orig;
  if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
  } else {
   $height = $width/$ratio_orig;
  }
  // This resamples the image
  $image_p = imagecreatetruecolor($width, $height);
  $image = imagecreatefromjpeg($url);
  imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  // Output the image
  imagejpeg($image_p, null, 100);
 }
 //works with both POST and GET
 $method = $_SERVER['REQUEST_METHOD'];
 if ($method == 'GET') {
  imageResize($_GET['url'], $_GET['w'], $_GET['h']);
  } elseif ($method == 'POST') {
  imageResize($_POST['url'], $_POST['w'], $_POST['h']);
  }
 // makes the process simpler
 function loadImage($url, $width, $height){
  echo 'image.php?url=', urlencode($url) ,
  '&w=',$width,
  '&h=',$height;
 }
?>

用法:

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

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • php实现改变图片直接打开为下载的方法

    本文实例讲述了php实现改变图片直接打开为下载的方法.分享给大家供大家参考.具体如下: process.php文件如下: $file = $_GET['file']; header("Content-type: octet/stream"); header("Content-disposition:attachment;filename=".$file.";"); header("Content-Length:".filesi

  • php修改上传图片尺寸的方法

    本文实例讲述了php修改上传图片尺寸的方法.分享给大家供大家参考.具体实现方法如下: <?php // This is the temporary file created by PHP $uploadedfile = $_FILES['uploadfile']['tmp_name']; // Create an Image from it so we can do the resize $src = imagecreatefromjpeg($uploadedfile); // Capture

  • PHP获取远程图片并保存到本地的方法

    本文实例讲述了PHP获取远程图片并保存到本地的方法.分享给大家供大家参考.具体实现方法如下: <?php function GrabImage($url, $filename = "") { if ($url == ""):return false; endif; //如果$url地址为空,直接退出 if ($filename == "") { //如果没有指定新的文件名 $ext = strrchr($url, "."

  • php图片处理函数获取类型及扩展名实例

    本文实例讲述了php图片处理函数获取类型及扩展名的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: image_type=image_type_to_mime_type(imagetype_png);   //获取png的mime类型 echo $image_type;           //输出结果 //   $file = '1.jpg'; $image = imagecreatefromjpeg($file); header('content-type: ' . i

  • php使用GD库创建图片缩略图的方法

    本文实例讲述了php使用GD库创建图片缩略图的方法.分享给大家供大家参考.具体分析如下: 上传页面的静态html代码: <html> <head> <title>文件上传</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <H1>文件上传</H1> &l

  • php将图片文件转换成二进制输出的方法

    本文实例讲述了php将图片文件转换成二进制输出的方法.分享给大家供大家参考.具体实现方法如下: header( "Content-type: image/jpeg"); $PSize = filesize('1.jpg'); $picturedata = fread(fopen('1.jpg', "r"), $PSize); echo $picturedata; 就这么简单4行代码,就将图片以二进制流的形式输出到客户端了,和打开一张图片没有任何区别. 这里需要注意的

  • php通过获取头信息判断图片类型的方法

    本文实例讲述了php通过获取头信息判断图片类型的方法.分享给大家供大家参考.具体实现方法如下: $filename = '617.gif' ; function pictype ( $file ) { /*$png_header = "/x89/x50/x4e/x47/x0d/x0a/x1a/x0a"; $jpg_header = "/xff/xd8";*/ $header = file_get_contents ( $file , 0 , NULL , 0 , 5

  • php实现随机显示图片方法汇总

    php通过rand()函数产生随机数,这个函数可以产生一个指定范围的数字 这段代码通过产生的随机数,随机选择图片 <html> <body> <?php srand( microtime() * 1000000 ); $num = rand( 1, 4 ); switch( $num ) { case 1: $image_file = "/home/images/alfa.jpg"; break; case 2: $image_file = "/

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

    本文实例讲述了php实现在服务器端调整图片大小的方法.分享给大家供大家参考.具体分析如下: 在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处. 本文介绍了PHP如何在服务器端调整图片大小. 代码包括两部分: ① imageResizer() is used to process the image ② loadimage() inserts the image url in a simpler format <?php function imageResizer($url, $wid

  • 易语言拖动滚动条调整图片大小的方法

    位置属性 属对象:纵向滚动条   操作系统支持:Windows,数据类型:整数型: 指定对象的现行位置. 语法:  对象.位置 =  整数型 应用对象:纵向滚动条 例程 说明: 在纵向滚动条被拖动的情况下,将纵向滚动条当前的位置显示出来并调整图片大小. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • js判断设备是否为PC并调整图片大小

    复制代码 代码如下: <html> <head> <script type="text/javascript"> /* 判断设备是否为PC */ function isPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android", "iPhone", "SymbianOS","Win

  • WinForm中实现picturebox自适应图片大小的方法

    本文实例讲述了WinForm中实现picturebox自适应图片大小的方法.分享给大家供大家参考,具体如下: picturebox控件共有两种载入图片方式,分别为: pictureBox1.BackgroundImage = Image,pictureBox1.load(url) 为使加载的图片自使用控件尺寸,可以分别对pictureBox控件设置BackGroundImageLayout=Stretch,SizeMode=StretchImagewinform中picturebox自适应图片大

  • js用拖动滑块来控制图片大小的方法

    本文实例讲述了js用拖动滑块来控制图片大小的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv=Content-Type content="text/html;charset=gb2312"> <title&g

  • PHP截取指定图片大小的方法

    本文实例讲述了PHP截取指定图片大小的方法.分享给大家供大家参考.具体分析如下: imagecopyresampled($newim, $im, 0, 0, 7, 174, 120, 42, $new_img_width, $new_img_height); // 原始尺寸 120 x 42 imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height); // 图截出来后放到 5

  • jQuery实现图片加载完成后改变图片大小的方法

    本文实例讲述了jQuery实现图片加载完成后改变图片大小的方法.分享给大家供大家参考,具体如下: 要改变图片的大小并不难,可以用jQuery操作css改变.但是前提是要判断图片是否加载完成.主要是通过jQuery的load事件和onreadystatechange来判断其状态. 对于IE6,用onreadystatechange可以直接处理,在IE7中,则需要用定时器来判断图片的readystate状态.而对于FF和Chrome刚可以直接用load事件来判断. 以下是在实例中使用的完整代码: <

  • jQuery限制图片大小的方法

    本文实例讲述了jQuery限制图片大小的方法.分享给大家供大家参考,具体如下: 最近在搞一个信息网站,文章内容中可以显示图片,所以就需要限制用户贴进去的图片的显示大小了. 在网上找到一段代码: $(document).ready(function(){ $("#viewnews_body img").each(function(){ var width = 620; var height = 600; var image = $(this); if (image.width() >

  • C#动态调整数组大小的方法

    本文实例讲述了C#动态调整数组大小的方法.分享给大家供大家参考.具体如下: 通常,我们创建一个数组后就不能调整其长度,但是Array类提供了一个静态方法CreateInstance用来创建一个动态数组,所以我们可以通过它来动态调整数组的长度. namespace ArrayManipulation { Class Program { static void Main (String[] args) { int[] arr = new int[]{1,2,3}; PrintArr(arr); ar

  • JS中通过url动态获取图片大小的方法小结(两种方法)

    很多时候再项目中,我们往往需要先获取图片的大小再加载图片,但是某些特定场景,如用过cocos2d-js的人都知道,在它那里只能按比例缩放大小,是无法设置指定大小的图片的,这就是cocos2d-js 的坑了,我们必须先获取图片大小,计算比例再对图片进行缩放. 查阅资料,我总结了两种通过url获取图片大小的方法: 1.预加载获取图片大小 var imgLoad = function (url, callback) { var img = new Image(); img.src = url; if

随机推荐