php 等比例缩小图片

 代码如下 复制代码

function imageresize2($width, $height, $targetw, $targeth)
{
  $percentage = 1;
  if (($width > $targetw) || ($height > $targeth))
  {
 $width_diff = $width - $targetw;
 $height_diff = $height - $targeth;
 
 if ($width_diff >= $height_diff)
 {
  $percentage = ($targetw / $width);
 }
 else
 {
  $percentage = ($targeth / $height);
 }
  }
 //gets the new value and applies the percentage, then rounds the value
 $width = round($width * $percentage);
 $height = round($height * $percentage);
 $resize[0] = $width;
 $resize[1] = $height;
 return $resize;
}

//方法二

if (!$max_width)  
  $max_width = 240;  
if (!$max_height)  
  $max_height = 200;  
 
$size = getimagesize($image);  
$width = $size[0];  
$height = $size[1];  
 
$x_ratio = $max_width / $width;  
$y_ratio = $max_height / $height;  
 
if ( ($width <= $max_width) && ($height <= $max_height) ) {  
  $tn_width = $width;  
  $tn_height = $height;  
}  
else if (($x_ratio * $height) < $max_height) {  
  $tn_height = ceil($x_ratio * $height);  
  $tn_width = $max_width;  
}  
else {  
  $tn_width = ceil($y_ratio * $width);  
  $tn_height = $max_height;  
}  
 
$src = imagecreatefrompng($image);  
$dst = imagecreate($tn_width,$tn_height);  
imagecopyresized($dst, $src, 0, 0, 0, 0,  
    $tn_width,$tn_height,$width,$height);  
header("content-type: image/png");  
imagepng($dst, null, -1);  
imagedestroy($src);  
imagedestroy($dst);  

//方法三

/*
函数原型如下:
参数说明:
$oldwidth:原图片宽度
$oldheight:原图片高度
$imgwidth:缩小或放大的图片宽度
$imgheight:缩小或放大的图片高度
返回:wwww.111cn.net
数组:arraysize ,其中索引为:width 和height 即:arraysize['width']、arraysize['height']
*/
function getimgsize($oldwidth,$oldheight,$imgwidth,$imgheight)
{
//$oldwidth设置的宽度,$oldheight设置的高度,$imgwidth图片的宽度,$imgheight图片的高度;

//单元格装得能装得进图片,则按图片的真实大小显示;
if($imgwidth<=$oldwidth&&$imgheight<=$oldheight)
{
$arraysize=array('width'=>$imgwidth,'height'=>$imgheight);
return $arraysize;
}
else
{
$suoxiaowidth=$imgwidth-$oldwidth;
$suoxiaoheight=$imgheight-$oldheight;
$suoxiaoheightper=$suoxiaoheight/$imgheight;
$suoxiaowidthper=$suoxiaowidth/$imgwidth;
if($suoxiaoheightper>=$suoxiaowidthper)
{
//单元格高度为准;
$aftersuoxiaowidth=$imgwidth*(1-$suoxiaoheightper);
$arraysize=array('width'=>$aftersuoxiaowidth,'height'=>$oldheight);
return $arraysize;
}
else
{
//单元格宽度为准;
$aftersuoxiaoheight=$imgheight*(1-$suoxiaowidthper);
$arraysize=array('width'=>$oldwidth,'height'=>$aftersuoxiaoheight);
return $arraysize;
}
}
}

?>

时间: 2024-12-21 21:54:06

php 等比例缩小图片的相关文章

javascript简单实现等比例缩小图片的方法_javascript技巧

本文实例讲述了javascript简单实现等比例缩小图片的方法.分享给大家供大家参考,具体如下: //等比例缩小图片 function changeImg(obj,width,height) { var img = new Image(); img.src = document.getElementById(obj.id).src var ys_w = img.width; var ys_h = img.height; if(ys_w > width || ys_h > height) { v

JS等比例缩小图片尺寸

为了提升用户体验,网站用户在上传图片的时候,我们不能够让用户自己去处理图片以达到我们的要求. 而通常像淘宝上商品实物展示这样的页面,我们需要控制的主要是图片的宽度. 又考虑到html页面解析顺序可能导致的一些问题,决定通过定义一个简单的功能函数,然后在img元素中添加onload事件来调用的方式进行实现,代码如下: JS部分 <script type="text/javascript"> function changeImg(objImg) { var most = 690

JS等比例缩小图片尺寸的实例_javascript技巧

为了提升用户体验,网站用户在上传图片的时候,我们不能够让用户自己去处理图片以达到我们的要求. 而通常像淘宝上商品实物展示这样的页面,我们需要控制的主要是图片的宽度. 又考虑到html页面解析顺序可能导致的一些问题,决定通过定义一个简单的功能函数,然后在img元素中添加onload事件来调用的方式进行实现,代码如下: JS部分 复制代码 代码如下: <script type="text/javascript"> function changeImg(objImg) {    

符合Web标准!CSS同比例缩小图片

css|web|web标准 当然,生成缩略图这个工作如果交给程序来完成,效果会好很多,但是有时出于某种因素,例如服务器不支持GD之类的,难免就要请CSS代劳. 把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可. 对于IE 6.0及以下版本,以上两条CSS属性均不会被理会.之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件.例如: Example Source Code <imgsrc=".

利用CSS同比例缩小图片技巧

当然,生成缩略图这个工作如果交给程序来完成,效果会好很多,但是有时出于某种因素,例如服务器不支持GD之类的,难免就要请CSS代劳. 把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可. 对于IE 6.0及以下版本,以上两条CSS属性均不会被理会.之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件.例如: 这固然能解决问题,但是对以后页面的升级会带来麻烦--随着浏览器对CSS支持的完善,我们迟早会把

网页标准学习:利用CSS同比例缩小图片技巧

css|标准|技巧|网页 当然,生成缩略图这个工作如果交给程序来完成,效果会好很多,但是有时出于某种因素,例如服务器不支持GD之类的,难免就要请CSS代劳. 把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可. 对于IE 6.0及以下版本,以上两条CSS属性均不会被理会.之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件.例如: <imgsrc="..."alt="...

用CSS同比例缩小图片

当然,生成缩略图这个工作如果交给程序来完成,效果会好很多,但是有时出于某种因素,例如服务器不支持GD之类的,难免就要请CSS代劳. 把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可. 对于IE 6.0及以下版本,以上两条CSS属性均不会被理会.之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件.例如: 这固然能解决问题,但是对以后页面的升级会带来麻烦--随着浏览器对CSS支持的完善,我们迟早会把

js 图片比例缩小图片尺寸代码

图片加载中--

css让图片等比例缩小的代码

  随着智能手机的增多,手机网站也可以做的更加个性化,最近在改版自己的手机网站 这其中,遇到了网站图片尺寸问题,手机屏幕都比较小,怎么让上传的规则不一的图片在手机上显示的更加美观呢? 那就利用css的强大功能吧. 先附上代码: img { max-width:500px; myimg:expression(onload=function(){ this.style.width=(this.offsetWidth > 500)?"500px":"auto"} )