2010-09-23 2 views
0

У меня есть галерея изображений, мое требование применять diffrent размеры изображения на все изображения мой 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, который является сценарием изменения размера изображения.

+0

Хотите изменить размер изображения? Или просто отобразить их в другом размере? –

+0

Я не уверен, что вы спрашиваете здесь? Вы хотели бы знать, как писать сценарий изменения размера или как отображать изображения? Если это последний, почему бы не пойти за 100x100 эскизами (то есть вам не нужно/увеличить/размер любых изображений), затем перейдите к полноразмерным (или используйте лайтбокс)? – n00dle

+0

Хотите отобразить его другим размером. – Soarabh

ответ

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

Ничего себе это работает для seprate разметки, где нет никакого петли bt в моем состоянии есть цикл, поэтому не могу использовать это, все теги обертываются в foreach. – Soarabh

+0

, конечно, вы можете – jatt

+0

как этот foreach ($ arrKeys as $ arrKey) {echo $ image;} – Soarabh

Смежные вопросы