Heim  >  Artikel  >  Backend-Entwicklung  >  php 等比例缩小图片_PHP教程

php 等比例缩小图片_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:45:351026Durchsuche

php 等比例缩小图片 本文章收藏了四款关于利用php 等比例缩小图片代码函数,我们可定义图片宽度或高度对图片缩小或放大的图片宽度哦,好了看看四款实例那一款适合于你吧。

php教程 等比例缩小图片
本文章收藏了四款关于利用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   $tn_width = $width;  
  $tn_height = $height;  
}  
else if (($x_ratio * $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.bKjia.c0m
数组:arraysize ,其中索引为:width 和height 即:arraysize['width']、arraysize['height']
*/
function getimgsize($oldwidth,$oldheight,$imgwidth,$imgheight)
{
//$oldwidth设置的宽度,$oldheight设置的高度,$imgwidth图片的宽度,$imgheight图片的高度;

//单元格装得能装得进图片,则按图片的真实大小显示;
if($imgwidth {
$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;
}
}
}

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/633026.htmlTechArticlephp 等比例缩小图片本文章收藏了四款关于利用php 等比例缩小图片代码函数,我们可定义图片宽度或高度对图片缩小或放大的图片宽度哦,好...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn