html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

按比例生成缩略图文件及显示缩略图_PHP教程_编程技术

[ ] 已经帮助:人解决问题
缩略图|显示

<?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."<br>";
    }

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

?>

rQXHTML5中文学习网 - HTML5先行者学习网
rQXHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助