不同的图像有不同的尺寸

时间:2010-09-23 10:01:39

标签: php javascript jquery html css

我有一个图片库,我的要求是将不同的图片大小应用于所有图片 我的HTML标记是

<div class="post-attacthe-img"> 
<ul>
<li><a><img src="1.png"/></a></li>
<li><a><img src="2.png"/></a></li>
<li><a><img src="3.png"/></a></li>
<li><a><img src="4.png"/></a></li>
<li><a><img src="5.png"/></a></li>
<li><a><img src="6.png"/></a></li>
<li><a><img src="7.png"/></a></li>
<li><a><img src="8.png"/></a></li>
<li><a><img src="9.png"/></a></li>
<li><a><img src="10.png"/></a></li>

</ul>
</div>

例如: 1图像,如果它的大小是500X500,2图像是200X200,
再次
3图像为200X200,4图像为500X500
5图像再次为500X 500,6图像为100X100,7图像为100X100
现在又来了 8图像为100X100,9图像为100X100,10图像为500X500

现在问题是我必须应用它timbthub.php这是一个图像大小调整脚本。

1 个答案:

答案 0 :(得分:1)

function viewResize($img_path,$maxwidth,$maxheight){
        $img_array = @getimagesize($img_path);
        if(is_array($img_array)){
            list($orig_width, $orig_height, $type)=$img_array;           
            if ($orig_width > $maxwidth){
                $h = $maxwidth * ($orig_height / $orig_width);
                $w = $maxwidth;
                if($h>$maxheight){
                    $h = $maxheight;
                    $w = $maxheight * ( $orig_width / $orig_height);
                }
            }
            elseif($orig_height > $maxheight){
                $h = $maxheight;
                $w = $maxheight * ($orig_width / $orig_height);
                if($w>$maxwidth){
                    $h = $maxwidth * ($orig_height / $orig_width);
                    $w = $maxwidth;
                }
            }
            else{
                $w = $orig_width;
                $h = $orig_height;    
            }
            $resize = array();
            $resize['w']=floor($w);
            $resize['h']=floor($h);
            return $resize;
        }
        else{
            return FALSE;
        }
}

用法:

<?php 
$dimensions = viewResize('foto.jpg','120','120');
echo "<img src='foto.jpg' style='width:"$dimensions['w']"px;height:".$dimensions['h']."px;' alt='foto'/>";
?>

如果我理解......

<?php
foreach($fotos_array as $foto){
    $dimensions = viewResize($foto,'120','120');
    echo "<img src='$foto' style='width:"$dimensions['w']"px;height:".$dimensions['h']."px;' alt='foto'/>";     
}
?>