【问题标题】:Resize content of HTML image markup with PHP使用 PHP 调整 HTML 图像标记内容的大小
【发布时间】:2011-11-09 06:49:00
【问题描述】:

我的 HTML 页面显示带有以下代码的图像(使用 Flickr)

    <?php
    echo '<img src="http://farm' . $photo["farm"] . '.static.flickr.com/' . $photo["server"] . '/' . $photo["id"] . '_' . $photo["secret"] . '.jpg">';
    ?>

问题是我想调整此图像的大小,然后将其显示在页面上,但我不知道该怎么做。

【问题讨论】:

    标签: php html image resize flickr


    【解决方案1】:

    flickr 等网站通常允许您请求不同大小的图片版本,因此您最好的选择可能是请求适当大小的图片。

    我不确定具体细节,但我查看了http://www.flickr.com/photos/29609591@N08/5735893153/sizes/z/in/photostream/(我在网站首页找到的一张照片),并且有不同尺寸的链接。它们似乎与您的格式相同,只是在 .jpg 之前添加了_x(其中 x 是取决于大小的字母)。

    我在快速搜索中找不到任何关于此的文档,但在这种情况下,我们有:

    _s for a square
    _t for a thumbnail
    _m for a small
    (no extension) for a medium 500
    _z for a medium 640
    _b for a large
    _o for original - this url seems to be different from the others
    

    我怀疑这些标准是通过拟合尺寸上限,但我不确定。反复试验可能会对您有所帮助。

    【讨论】:

    • 感谢您的工作。现在图片的质量对我来说并不重要,但一旦有时间我会探索你的建议。
    【解决方案2】:

    为您的 html 字符串添加宽度和高度属性。

    <?php
        echo '<img width='200px' height='200px' src="http://farm' . $photo["farm"] . '.static.flickr.com/' . $photo["server"] . '/' . $photo["id"] . '_' . $photo["secret"] . '.jpg">';
        ?>
    

    【讨论】:

    • IIRC,在某些版本的 IE 中,由于它使用的算法,像这样调整大小看起来很糟糕。
    • ... 你是想说你想要一个 javascript 库,它可以独立于浏览器处理图像重新调整大小和呈现以最小化质量损失吗?可笑。
    • @Greg:如果您不希望内置浏览器调整大小,那么总会有服务器端调整大小。
    • 是的,技术上存在,但在这种情况下,OP 将图片直接拉到客户端,而不是服务器。加载图片,然后将其发送到服务器,然后重新调整大小并将其发送回,成本会很高。如果 OP 想要在服务器端重新调整大小,他将不得不使用 php 导入图片,而不是将其破解为动态 html 字符串。
    • @Greg Agnew 感谢您的回答,它完全符合我的需求。 +1 简单明了的代码。
    猜你喜欢
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2012-08-18
    • 2013-02-12
    相关资源
    最近更新 更多