我可以调整图像大小以适合表格的宽度吗?


Can I adjust image size to fit width of a table?

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

如果图像存储在服务器上,可以运行一段代码来强制设置最大宽度:

$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库,可能会对你有帮助,在我的github上找到,在这里。
  2. 如果你想在客户端完成这一切,而不是在本地存储图像,你应该能够创建一个新的Javascript image(),将src设置为图像,然后通过Javascript的内置方法确定图像的宽度和高度。然后,您可以动态更改<img>元素的宽度/高度,使其不大于您预先确定的宽度/高度。

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