【问题标题】:Can I adjust image size to fit width of a table?我可以调整图像大小以适应表格的宽度吗?
【发布时间】:2011-07-25 10:58:25
【问题描述】:

我正在使用 BB 代码功能来允许成员在 cmets 和主题中发布图像等。我的问题是如果图像太大而无法容纳表格,它会将所有内容扩展超过宽度。 有什么解决方法吗?在表中还是在 td 中?图像的预定义宽度和高度不起作用,因为我永远不会知道每个图像有多大。有没有办法为图像或沿着这些线的东西设置最大宽度/高度?

【问题讨论】:

    标签: php html


    【解决方案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 的内置方法。然后,您可以动态更改 &lt;img&gt; 元素的宽度/高度,使其不大于您预先确定的宽度/高度。

    【讨论】:

    • 谢谢,这为我指明了正确的方向。是的,我的服务器上的图像也需要调整大小。感谢您发布链接,我会查看您的图书馆。
    • 如果您最终使用它/需要说明,请告诉我;它完全没有记录,所以如果第一次很难使用我不会感到惊讶:D
    【解决方案2】:

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

    【讨论】:

    • 只需设置一个或另一个。如果同时设置宽度和高度,如果图像的纵横比与 TD 不匹配,则会得到扭曲的图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 2012-09-15
    • 1970-01-01
    • 2013-09-21
    • 2011-12-06
    • 2018-08-18
    • 2014-06-19
    相关资源
    最近更新 更多