【问题标题】:Resizing image without actually changing it in the folder调整图像大小而不实际更改文件夹中的图像
【发布时间】:2014-05-16 04:24:26
【问题描述】:

所以我正在使用自动完成功能。 我正在使用它来显示搜索结果中留下的图像。显示的图片来自 products 表,该图片大小约为 400x400 像素。但是,在自动完成中,不可能显示该图像。假设我需要一个 50x50 像素的图像,我将如何制作重新调整图像大小的功能(只是为了显示)而实际图像仍然是 400x400 像素?

这是我的产品表:-

productid         productname  price  image
autoincrement       somename    100    ../productimages/someimage.extension

现在这个 image 在 php 中作为 $result->image 可用。 我不知道如何开始。 欢迎提出任何建议。

【问题讨论】:

    标签: php jquery html css image


    【解决方案1】:

    保存临时图像等会很麻烦。为什么不使用所需的宽度在 HTML 中显示它?

    <img src="someimage.extension" class="thumbnail"/>
    <style>
        .thumbnail {
            width: 50px;
        }
    </style>
    

    【讨论】:

    • 完美解决方案。谢谢。
    • @user3605847 您的下拉菜单中有多少张图片?因为现在您无需为每张图像发送 160'000 像素(250kb?),而不是每张图像 2'500 像素(4kb?)。许多图像或低带宽可能会导致网站运行缓慢。如果您的下拉菜单一次显示多张图片,这不是一个好主意。
    • 一次会有大约 10 张图片。
    【解决方案2】:

    实际上,动态调整大小可行的情况很少。只需调整一次所有图像的大小,并将这些缩略图保存在磁盘上原始图像旁边。为文件名添加前缀或后缀,不必在数据库中存储额外的文件名。比如someimage_thumb.extension

    对于调整大小的具体步骤,已回答的问题数量很多。示例:https://stackoverflow.com/a/9655694/1209443。然而一个重要的问题......你的 PHP 支持 GD 或 ImageMagick 吗?

    【讨论】:

    • 尤其是现在存储空间如此便宜,拥有每张图像的 50x50 像素缩略图副本并不是什么大问题
    • 我同意这一切,我只是认为对于使用快速 HTML 修复的新程序员来说是可行的。不过,这是实现此目的的最佳方式,因此用户不必每次都加载 2000x2000 的图像来获取 50x50 的缩略图。
    • 是的,我的 PHP 支持 GD。我会看看你的解决方案。目前使用的是@dcclassics 发布的。
    猜你喜欢
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 2011-08-20
    • 2017-10-10
    相关资源
    最近更新 更多