我可以调整图像大小以适应桌子的宽度吗?

时间:2011-07-25 02:48:04

标签: php html

我正在使用BB代码功能,允许成员在评论和主题中发布图像等。我的问题是如果图像太大而不适合桌子,它会扩展超出宽度的所有内容。 这有什么变通方法吗?在表格或td中?图像的预定宽度和高度不起作用,因为我永远不会知道每个图像有多大。有没有办法为图像或这些线上的某些东西制作最大宽度/高度?

2 个答案:

答案 0 :(得分:1)

将TD设置为最大高度或宽度,并将img设置为100%宽度/高度

答案 1 :(得分:1)

如果图像存储在您的服务器上,可以使用以下代码来强制最大宽度:

$maxWidth = 450;
$info = getimagesize("../path/to/image.jpg");
if( $info[0] > $maxWidth )
{
    print '<img src="../path/to/image.jpg" width="' . $maxWidth . '" />';
}
else
{
    print '<img src="../path/to/image.jpg" />';
}

高度将缩放到宽度,因此没有任何东西伸展过来。

编辑:

  1. 如果您想实际调整服务器上的图像,我有一个可能对您有帮助的PHP库,可在my github, here找到。
  2. 如果你想在所有客户端都这样做,而不在本地存储图像,你应该能够创建一个新的Javascript Image(),将src设置为图像,然后确定其宽度和高度。图像通过Javascript的内置方法。然后,您可以动态地将<img>元素的宽度/高度更改为不大于您预先确定的宽度/高度。