php功能-php改变图片大小的函数

2013.01.4 No Comments

函数使用方法传入图片路径,宽,高 生成新的图形

代码如下:

<?php
//改变图片大小的函数
//参数分别为:图片资源,需生成的图片的宽度,高度 ;如果参数为0时,输出原图

//函数
function resizeImage($im,$maxwidth,$maxheight)
{
$im = ImageCreateFromJpeg($im);
$pic_width = imagesx($im);
$pic_height = imagesy($im);

if(($maxwidth && $pic_width >$maxwidth) || ($maxheight && $pic_height >$maxheight)){
if($maxwidth && $pic_width>$maxwidth){
$widthratio = $maxwidth/$pic_width;
$resizewidth_tag = true;
}

if($maxheight && $pic_height>$maxheight){
$heightratio = $maxheight/$pic_height;
$resizeheight_tag = true;
}

if($resizewidth_tag && $resizeheight_tag){
if($widthratio<$heightratio)
$ratio = $widthratio;
else
$ratio = $heightratio;
}

if($resizewidth_tag && !$resizeheight_tag)
$ratio = $widthratio;
if($resizeheight_tag && !$resizewidth_tag)
$ratio = $heightratio;

$newwidth = $pic_width * $ratio;
$newheight = $pic_height * $ratio;

if(function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
}else{
$newim = imagecreate($newwidth,$newheight);
imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
}
$re = $newim;
}else{
$re = $im;
}
return $re;
}
//调用传参
imagejpeg(resizeImage('img.jpg',0,0),$newimg='newimg.jpg');
echo "<img src={$newimg}>" ;
echo':对比';
echo "<img src=img.jpg>" ;
?>

Related Posts:

评论已关闭。