2012-03-13 97 views
2

在某些固定的大小如何獲得的圖像,比如我已經把它貼圖像並編碼您的評論如何獲取固定在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;"> 
+1

也可以使用GD裁剪圖像,或者你可以使用HTML/CSS的組合做你所描述的。 – mason81 2012-03-13 21:27:27

+0

看一看[和getimagesize(http://php.net/manual/en/function.getimagesize.php) – ncremins 2012-03-13 21:28:39

+0

看起來他已經在做,他添加的代碼樣本。 – 2012-03-13 21:29:23

回答

2

你可以得到圖像細節與

$details = get_image_size($filename). 

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

+0

看起來他已經在他添加的代碼示例中這樣做了。 – 2012-03-13 21:29:02

1

能否換個試試這個

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

讓你STRETCH時的圖像,以特定的大小

規模,你可以使用

img src='$filename' style='width:auto; height: 250px' 
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> 
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的選項會更好。你可以添加一個寬度的包裝容器,並設置圖像顯示: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%; 
}