【问题标题】:Different Image have different dimensions不同的图像有不同的尺寸
【发布时间】:2010-09-23 18:28:44
【问题描述】:

我有一个图片库,我的要求是对所有图片应用不同的图片尺寸 我的 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 这是一个图像调整脚本。

【问题讨论】:

  • 您要调整图像大小吗?或者只是以其他尺寸显示它们?
  • 我不知道你在这里问什么?您想知道如何编写调整大小脚本或如何显示图像吗?如果是后者,为什么不选择 100x100 的缩略图(这意味着您不必/增加/任何图像的大小),然后让它点击进入全尺寸的缩略图(或使用灯箱)?
  • 想要显示其他尺寸。
  • 所以你想调整所有图像的大小来创建缩略图?我仍然不确定你在问什么。您需要帮助编写调整大小脚本吗?

标签: php javascript jquery html css


【解决方案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'/>";     
}
?>

【讨论】:

  • 哇,这适用于单独的标记,在我的条件下没有任何循环 bt 有一个循环,所以不能使用这个所有标签都包装在一个 foreach 中。
  • 喜欢这个 foreach ($arrKeys as $arrKey) {echo $image;}
  • 好的,但是我们如何传递图像尺寸。
猜你喜欢
  • 1970-01-01
  • 2015-02-28
  • 2018-12-19
  • 1970-01-01
  • 2019-12-22
  • 2015-12-12
  • 2011-04-21
  • 1970-01-01
  • 2016-05-14
相关资源
最近更新 更多