//
-----------------------------------------------------------------------------------------------------
//图像重采样调整大小,如果成功,返回一个数组,有两个值,第一个是调整后的宽度,第二个是调整后的高度,
//参数的含义:
//imageurl: 要调整的图像文件名
//$seze: 调整目标大小的像素数,一个参数,表示一个正方形的区域
//$quality: 如果是JPEG图像,则可以指定,目标图像的品质,范围:[0,100]
//------------------------------------------------------------------------------------------------------
function imageresize( $imageurl , $size = 800 , $quality = 75 )
{
$size = intval ( $size );
if ( $size <= 0 )
$size = 1024 ;
$quality = intval ( $quality );
if ( $quality < 0 )
$quality = 0 ;
if ( $quality > 100 )
$quality = 100 ;
if ( ! file_exists ( $imageurl ))
{
return array ( - 1 ,- 1 );
} else
{
$ext = strtolower ( substr ( $imageurl , strrpos ( $imageurl , " . " ) + 1 ));
if ( $ext == ' jpg ' || $ext == ' jpeg ' || $ext == ' gif ' || $ext == ' png ' || $ext == ' bmp ' )
{
$imagewh = getimagesize ( $imageurl );
$Ws = $imagewh [ 0 ];
$Hs = $imagewh [ 1 ];
if ( $Ws >= $Hs )
{
if ( $Ws <= $size )
return getimagesize ( $imageurl );
else
{
$Wt = $size ;
$Ht = intval (( $Hs / $Ws ) * $size );
}
} else
{
if ( $Hs <= $size )
return getimagesize ( $imageurl );
else
{
$Wt = intval (( $Ws / $Hs ) * $size );
$Ht = $size ;
}
}
switch ( $ext )
{
case ' jpg ' :
case ' jpeg ' :
$imgs = @imagecreatefromjpeg( $imageurl );
$imgt = @imagecreatetruecolor( $Wt , $Ht )
or die ( " Cannot Initialize new GD image stream " );
imagecopyresampled( $imgt , $imgs , 0 , 0 , 0 , 0 , $Wt , $Ht , $Ws , $Hs );
imagejpeg( $imgt , $imageurl );
imagedestroy( $imgs );
imagedestroy( $imgt );
return array ( $Wt , $Ht );
break ;
case ' bmp ' :
$imgs = @imagecreatefromjpeg( $imageurl );
$imgt = @imagecreatetruecolor( $Wt , $Ht )
or die ( " Cannot Initialize new GD image stream " );
imagecopyresampled( $imgt , $imgs , 0 , 0 , 0 , 0 , $Wt , $Ht , $Ws , $Hs );
imagewbmp( $imgt , $imageurl );
imagedestroy( $imgs );
imagedestroy( $imgt );
return array ( $Wt , $Ht );
break ;
case ' gif ' :
$imgs = @imagecreatefromjpeg( $imageurl );
$imgt = @imagecreatetruecolor( $Wt , $Ht )
or die ( " Cannot Initialize new GD image stream " );
imagecopyresampled( $imgt , $imgs , 0 , 0 , 0 , 0 , $Wt , $Ht , $Ws , $Hs );
imagegif( $imgt , $imageurl );
imagedestroy( $imgs );
imagedestroy( $imgt );
return array ( $Wt , $Ht );
break ;
case ' png ' :
$imgs = @imagecreatefromjpeg( $imageurl );
$imgt = @imagecreatetruecolor( $Wt , $Ht )
or die ( " Cannot Initialize new GD image stream " );
imagecopyresampled( $imgt , $imgs , 0 , 0 , 0 , 0 , $Wt , $Ht , $Ws , $Hs );
imagepng( $imgt , $imageurl );
imagedestroy( $imgs );
imagedestroy( $imgt );
return array ( $Wt , $Ht );
break ;
default :
return array ( - 1 ,- 1 );
}
} else
{
return array ( - 1 ,- 1 );
}
}
}
// ------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------
//图像重采样调整大小,如果成功,返回一个数组,有两个值,第一个是调整后的宽度,第二个是调整后的高度,
//参数的含义:
//imageurl: 要调整的图像文件名
//$seze: 调整目标大小的像素数,一个参数,表示一个正方形的区域
//$quality: 如果是JPEG图像,则可以指定,目标图像的品质,范围:[0,100]
//------------------------------------------------------------------------------------------------------
function imageresize( $imageurl , $size = 800 , $quality = 75 )
{
$size = intval ( $size );
if ( $size <= 0 )
$size = 1024 ;
$quality = intval ( $quality );
if ( $quality < 0 )
$quality = 0 ;
if ( $quality > 100 )
$quality = 100 ;
if ( ! file_exists ( $imageurl ))
{
return array ( - 1 ,- 1 );
} else
{
$ext = strtolower ( substr ( $imageurl , strrpos ( $imageurl , " . " ) + 1 ));
if ( $ext == ' jpg ' || $ext == ' jpeg ' || $ext == ' gif ' || $ext == ' png ' || $ext == ' bmp ' )
{
$imagewh = getimagesize ( $imageurl );
$Ws = $imagewh [ 0 ];
$Hs = $imagewh [ 1 ];
if ( $Ws >= $Hs )
{
if ( $Ws <= $size )
return getimagesize ( $imageurl );
else
{
$Wt = $size ;
$Ht = intval (( $Hs / $Ws ) * $size );
}
} else
{
if ( $Hs <= $size )
return getimagesize ( $imageurl );
else
{
$Wt = intval (( $Ws / $Hs ) * $size );
$Ht = $size ;
}
}
switch ( $ext )
{
case ' jpg ' :
case ' jpeg ' :
$imgs = @imagecreatefromjpeg( $imageurl );
$imgt = @imagecreatetruecolor( $Wt , $Ht )
or die ( " Cannot Initialize new GD image stream " );
imagecopyresampled( $imgt , $imgs , 0 , 0 , 0 , 0 , $Wt , $Ht , $Ws , $Hs );
imagejpeg( $imgt , $imageurl );
imagedestroy( $imgs );
imagedestroy( $imgt );
return array ( $Wt , $Ht );
break ;
case ' bmp ' :
$imgs = @imagecreatefromjpeg( $imageurl );
$imgt = @imagecreatetruecolor( $Wt , $Ht )
or die ( " Cannot Initialize new GD image stream " );
imagecopyresampled( $imgt , $imgs , 0 , 0 , 0 , 0 , $Wt , $Ht , $Ws , $Hs );
imagewbmp( $imgt , $imageurl );
imagedestroy( $imgs );
imagedestroy( $imgt );
return array ( $Wt , $Ht );
break ;
case ' gif ' :
$imgs = @imagecreatefromjpeg( $imageurl );
$imgt = @imagecreatetruecolor( $Wt , $Ht )
or die ( " Cannot Initialize new GD image stream " );
imagecopyresampled( $imgt , $imgs , 0 , 0 , 0 , 0 , $Wt , $Ht , $Ws , $Hs );
imagegif( $imgt , $imageurl );
imagedestroy( $imgs );
imagedestroy( $imgt );
return array ( $Wt , $Ht );
break ;
case ' png ' :
$imgs = @imagecreatefromjpeg( $imageurl );
$imgt = @imagecreatetruecolor( $Wt , $Ht )
or die ( " Cannot Initialize new GD image stream " );
imagecopyresampled( $imgt , $imgs , 0 , 0 , 0 , 0 , $Wt , $Ht , $Ws , $Hs );
imagepng( $imgt , $imageurl );
imagedestroy( $imgs );
imagedestroy( $imgt );
return array ( $Wt , $Ht );
break ;
default :
return array ( - 1 ,- 1 );
}
} else
{
return array ( - 1 ,- 1 );
}
}
}
// ------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------