2010-09-23 72 views
0

我有一個圖片庫,我的要求是不同勢圖像尺寸適用於所有圖像 我的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的圖像是100×100,7圖像100X100
現在再次
8圖像是100X100,9圖像是100X100,10圖像是500X500

現在的問題是我必須應用它timbthub.php這是一個圖像調整腳本。

+0

是否要調整圖像?或者只是以另一種尺寸顯示它們? – 2010-09-23 10:05:43

+0

我不確定你在這裏問什麼?您是否想知道如何編寫調整大小腳本,或者如何顯示圖像?如果是後者,爲什麼不選擇100x100的縮略圖(意思是你不需要/增加/任何圖像的大小),然後讓它點擊到全尺寸(或使用燈箱)? – n00dle 2010-09-23 10:07:06

+0

想要顯示其他尺寸。 – Soarabh 2010-09-23 10:10:23

回答

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'/>";  
} 
?> 
+0

哇這有效的分離標記沒有任何循環bt在我的情況下有一個循環,所以不能使用這個所有的標籤都包裝在foreach中。 – Soarabh 2010-09-23 10:25:41

+0

當然你可以 – jatt 2010-09-23 10:26:57

+0

像這樣foreach($ arrKeys as $ arrKey){echo $ image;} – Soarabh 2010-09-23 10:27:43