如何在PHP中修复图像大小?

时间:2012-03-13 21:25:19

标签: php

如何获取特定固定尺寸的图片,例如我附上图片和代码以供审核

Please click on this link (image) to understand my question

 <img src="<?php echo $picfile; ?>" border="0" width="<?php echo $imgsize[0]; ?>" height="<?php echo $imgsize[1]; ?>" align="left" style="border:1px solid black;margin-right:5px;">

4 个答案:

答案 0 :(得分:2)

您可以使用

获取图像详细信息
$details = get_image_size($filename). 

$ details [3]将包含html格式的宽度和高度,供您使用。

答案 1 :(得分:1)

可以尝试这个

img src='$filename' style='width:250px; height: 250px'

允许您将图像拉伸到特定尺寸

缩放你可以使用

img src='$filename' style='width:auto; height: 250px'

答案 2 :(得分:1)

有几种方法可以做到这一点。在循环浏览图像时,您需要跟踪最大宽度。

$newImageArray = array();
$maxWidth = 0;
$maxHeight = 0;
$i = 0;
forEach ( $imageArray as $picfile ) {
    $newImageArray[$i]['picFile'] = $picfile;
    $imgsize = get_image_size($picfile);
    $newImageArray[$i]['width'] = $imgsize[0];
    if ( $imgsize[0] > $maxWidth ) {
        $maxWidth = $imgsize[0];
    }
    $newImageArray[$i]['height'] = $imgsize[1];
    if ( $imgsize[1] > $maxHeight ) {
        $maxHeight = $imgsize[1];
    }
    $1++;
}
forEach ( $newImageArray as $i) { ?>
    <img src="<?php echo $picfile; ?>" border="0" width="<?php echo $maxWidth; ?>" height="<?php echo $maxHeight; ?>" align="left" style="border:1px solid black;margin-right:5px;">
<?php
}

现在你不应该这样做。基于CSS的选项可以更好地工作。您可以添加一个宽度为的包装容器,并将图像设置为display:block; width:100%;并且图像将始终填满空间。我将很快编辑该解决方案。

这会使图像保持固定的宽度,并在图像太大时缩放图像以适应框内。

HTML:

<div class="imgWrap">
   <img src="http://www.captainangry.com/img/1236647133510anonib.jpg">
</div>

CSS:

.imgWrap {
    width:100px;
    height:100px;
    float:left;
}
.imgWrap img {
    display:block;
    max-width:100%;
}

答案 3 :(得分:0)

如果你不想在PHP中做任何工作,那么只需将图像包装在div中并设置overflow:hidden。这假定您知道所有图像的高度。

<div style="width:<?php echo $imgsize[0]; ?>; height:100px; overflow:hidden; border:1px solid black; margin-right:5px">
    <img src="<?php echo $picfile; ?>" width="<?php echo $imgsize[0]; ?>" height="<?php echo $imgsize[1]; ?>">
</div>