按比例生成缩略图文件及显示缩略图

80酷酷网    80kuku.com

  缩略图|显示

<?php
   
    function CreateThumbnail($path,$newFileName,$width=100,$height=100)
    {
        $s_img = getimagesize($path);
        $type  = $s_img[2];
       
        switch($type)
        {
            case 1 : $im = imagecreatefromgif($path);break;
            case 2 : $im = imagecreatefromjpeg($path); break;
            case 3 : $im = imagecreatefrompng($path);break;
            default: $im  = false;
            break;
        }
       
        $s_width  = imagesx($im);
        $s_height = imagesy($im);
       
        $sizexy = getScaleImage($path,$width,$height);
        $width  = $sizexy[0];
        $height = $sizexy[1];
       
        if($im)
        {
            $im2 = imagecreatetruecolor($width,$height);
            imagecopyresized ($im2,$im,0,0,0,0,$width,$height,$s_width,$s_height);
            imagejpeg($im2,$newFileName);
        }
        return false;
    }
   
    function getScaleImage($image,$perfectWidth,$perfectHeight)
    {
        if (realpath($image) != false)
        {
            $sizeArray = getimagesize($image);
            $sizeX     = $sizeArray[ 0 ] ;
            $sizeY     = $sizeArray[ 1 ] ;
               
            if ($perfectWidth!=0 && $perfectHeight==0)
            {
                if ($sizeX>$perfectWidth)
                {
                    $scale = $sizeX/$sizeY ;
                    $sizeX = $perfectWidth;
                    $sizeY = floor($sizeX/$scale);
                } 
            }
       
            if ($perfectHeight != 0 && $perfectWidth == 0)
            {
                if ($sizeY > $perfectHeight)
                {
                    $scale = $sizeY / $sizeX ;
                    $sizeY = $perfectHeight;
                    $sizeX = floor($sizeY / $scale);
                } 
            }
           
            if ($perfectHeight != 0 && $perfectWidth != 0)
            {
                $sizeX = $perfectWidth;
                $sizeY = $perfectHeight;
            }
       
            $tmp[] = $sizeX;
            $tmp[] = $sizeY;
        }
        else
        {
            $tmp[] = 0;
        }
        return $tmp;
    }
   
    $tm = getScaleImage("http://www.pushad.com/Info/100_3353.jpg",0,0);
    echo "<img src="http://www.pushad.com/Info/100_3353.jpg" width='".$tm[0]."' height='".$tm[1]."' />";
    foreach ($tm as $v)
    {
        echo $v."
";
    }

    //CreateThumbnail("http://www.pushad.com/Info/100_3353.jpg","aa.gif",100,0);

?>



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: