• 技术文章 >php教程 >PHP源码

    PHP缩略图,满窗格等比例缩小

    PHP中文网PHP中文网2016-05-25 17:14:37原创401
    php代码

    <?php
        function thumbs($FileName,$SaveTo,$SetW,$SetH){
            $IMGInfo= getimagesize($FileName);
            if(!$IMGInfo) return false;        
            if($IMGInfo[mime]== "image/pjpeg" || $IMGInfo[mime]=="image/jpeg"){ 
                $ThisPhoto= imagecreatefromjpeg($FileName); 
            }elseif($IMGInfo[mime]== "image/x-png" || $IMGInfo[mime]== "image/png"){ 
                $ThisPhoto= imagecreatefrompng($FileName);    
            }elseif($IMGInfo[mime]== "image/gif"){ 
                $ThisPhoto=imagecreatefromgif($FileName);  
            }  
            $width=$IMGInfo[0];
            $height=$IMGInfo[1];    
            $scalc = max($width/$SetW,$height/$SetH);
            $nw = intval($width/$scalc);
            $nh = intval($height/$scalc);
            echo "缩略大小:w$nw,h$nh <br />";
            if($SetW-$nw == 1){$nw = $SetW;}
            if($SetH-$nh == 1){$nh = $SetH;}
            echo "+修正1像素: w$nw,h$nh<br />";
            //补宽
            if($SetW-$nw > 0){
                $nh = $nh +(($nh/$nw) * ($SetW-$nw));
                echo "*需补宽".($SetW-$nw).",陪补高".(($nh/$nw) * ($SetW-$nw))."  <br />";   
                $nw = $SetW;
            }
            //补高
            if($SetH-$nh > 0){
                $nw = $nw + (($nw/$nh) * ($SetH-$nh));
                echo "*需补高".($SetH-$nh).",陪补宽". (($nw/$nh) * ($SetH-$nh)) ."<br />";
                $nh = $SetH;
            }
            
            $nw = intval($nw);
            $nh = intval($nh);
            echo "+修正大小:w$nw,h$nh<br />";
            $px = ($SetW - $nw)/2;
            $py = ($SetH - $nh)/2;
            echo "窗口大小:w$SetW,h$SetH <br />";
            echo "+偏移修正:x$px,y$py <br />";
            $NewPhoto=imagecreatetruecolor($SetW,$SetH); 
            imagecopyresized($NewPhoto,$ThisPhoto,$px,$py,0,0,$nw,$nh,$width,$height); 
            ImageJpeg ($NewPhoto,$SaveTo);
            return true;
        }
        thumbs('a.jpg','newa.jpg',150,70);
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:获得当前的脚本网址 下一篇:PHP实现观察者模式
    千万级数据并发解决方案

    相关文章推荐

    • PHP下载远程文件类源码,带详细注释,还支持断点续传• Php自用分页函数程序代码• php中$_SERVER['HTTP_USER_AGENT']判断是否为手机访问网站• php 定义全局变量,静态变量,局部变量定义实例• php 完整图片按比例生成缩略图代码
    1/1

    PHP中文网