Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6976025
  • 博文数量: 637
  • 博客积分: 10265
  • 博客等级: 上将
  • 技术积分: 6165
  • 用 户 组: 普通用户
  • 注册时间: 2004-12-12 22:00
文章分类

全部博文(637)

文章存档

2011年(1)

2010年(1)

2009年(3)

2008年(12)

2007年(44)

2006年(156)

2005年(419)

2004年(1)

分类: 系统运维

2005-06-10 10:18:40

大笑 用GD库生成高质量的缩略图片

生成高质量的缩略图片

我拿他跟以前论坛发的那个相比,简直乐晕小妹拉

生成的质量简直跟原版的一模一样~!!

不吹拉,效果自己看啦

$FILENAME="image_name";
// 生成图片的宽度
$RESIZEWIDTH=400;
// 生成图片的高度
$RESIZEHEIGHT=400;

function
ResizeImage($im,$maxwidth,$maxheight,$name){
   
$width = imagesx($im);
   
$height = imagesy($im);
    if((
$maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
        if(
$maxwidth && $width > $maxwidth){
           
$widthratio = $maxwidth/$width;
           
$RESIZEWIDTH=true;
        }
        if(
$maxheight && $height > $maxheight){
           
$heightratio = $maxheight/$height;
           
$RESIZEHEIGHT=true;
        }
        if(
$RESIZEWIDTH && $RESIZEHEIGHT){
            if(
$widthratio < $heightratio){
               
$ratio = $widthratio;
            }else{
               
$ratio = $heightratio;
            }
        }elseif(
$RESIZEWIDTH){
           
$ratio = $widthratio;
        }elseif(
$RESIZEHEIGHT){
           
$ratio = $heightratio;
        }
       
$newwidth = $width * $ratio;
       
$newheight = $height * $ratio;
        if(
function_exists("imagecopyresampled")){
             
$newim = imagecreatetruecolor($newwidth, $newheight);
             
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        }else{
           
$newim = imagecreate($newwidth, $newheight);
             
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        }
       
ImageJpeg ($newim,$name . ".jpg");
       
ImageDestroy ($newim);
    }else{
       
ImageJpeg ($im,$name . ".jpg");
    }
}

if(
$_FILES['image']['size']){
    if(
$_FILES['image']['type'] == "image/pjpeg"){
       
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
    }elseif(
$_FILES['image']['type'] == "image/x-png"){
       
$im = imagecreatefrompng($_FILES['image']['tmp_name']);
    }elseif(
$_FILES['image']['type'] == "image/gif"){
       
$im = imagecreatefromgif($_FILES['image']['tmp_name']);
    }
    if(
$im){
        if(
file_exists("$FILENAME.jpg")){
           
unlink("$FILENAME.jpg");
        }
       
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);
       
ImageDestroy ($im);
    }
}
?>

echo($FILENAME.".jpg?reload=".rand(0,999999)); ?>">









阅读(1521) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~