【问题标题】:How are images downloaded on a incremental resolution basis?如何以增量分辨率下载图像?
【发布时间】:2018-08-29 01:18:08
【问题描述】:

通常,当您保留<img/> 标签时,它会在从网络上下载时从上到下显示,看起来很丑,但是如果您是某人的 Facebook 相册并单击某些照片,您会看到整张照片已下载,即整张照片看起来模糊/朦胧,然后当它从网上下载时,图片变得越来越清晰。

它看起来很自然,与默认行为相反。如何才能做到这一点?我知道这是 Facebook,他们可以做任何他们想做的事情;)但我需要简要概述一下他们可能为实现这一目标所做的工作。

【问题讨论】:

    标签: javascript html image


    【解决方案1】:

    这是特殊形式的图像 - 保存为渐进式。

    关于渐进式 JPEG:

    一个简单的或“基线”JPEG 文件存储为一个从上到下的扫描 图片。渐进式 JPEG 将文件分成一系列扫描。首先 扫描以相当于非常低质量设置的方式显示图像,并且 因此它占用的空间很小。扫描后逐渐改善 质量。每次扫描都会增加已经提供的数据,因此总 存储要求与基线 JPEG 图像的存储要求大致相同 与最终扫描的质量相同。 (基本上,渐进式 JPEG 只是一个 将相同的数据重新排列成更复杂的顺序。)

    More information here.

    【讨论】:

    • 需要注意的是 Internet Explorer 不会在加载时呈现渐进式 JPEG。很久以前,您可以将<img lowsrc=''> 与黑白 GIF 一起使用。现在,您可能可以使用 jQuery 和高度压缩的缩略图来做一些事情。
    • @Jacek_FH:但是如何将图像转换为渐进式 jpg?任何链接都会非常有用。我使用 C# 和 Asp.Net
    【解决方案2】:

    隔行扫描 jpg 就是这样做的。据我所知,这不是代码,而是您在图像编辑器中编辑/保存图像的方式。

    【讨论】:

    • 但我以简单的形式上传我的图片。显然他们不会继续将每个用户的每一个图像转换成这种特殊格式,所以我认为必须有代码。
    • @Anthony 不仅 Facebook 会转换您上传的每张照片,而且还会将其转换为网站上不同位置的不同质量和分辨率。此外,他们针对网络浏览进行了优化,这意味着放入这种“特殊”格式(已经存在了很长时间)。
    • @jball:因为 facebook 拥有数十亿用户。他们不会手动将每个用户的照片转换成 Forrest 所说的图像编辑器。我只是说“必须有代码”。
    • @jball:我没听懂你在说什么!阅读 Forrest 的评论:“据我所知,这不是代码,而是您在图像编辑器中编辑/保存图像的方式。”阅读“这不是代码”这一行。我的理解是,如果它不是代码 --> 它不是自动化的,如果它不是自动化的 --> 那么它就是手动的。
    • @jball:在他的“回复”中写了一行,而我在该单行或实际上两行中只能找到“这不是代码”。这里没有提到他是在谈论客户端代码还是服务器代码。除非我是上帝,否则我不能从这个声明中得出他在谈论客户端代码。我可以更努力地理解他,但前提是他在回复中写得足够多。 1 行太少了,我无法猜测/理解他在谈论客户端代码。他正在谈论“在图像编辑器中编辑/保存图像”。这完全意味着“他认为”这不是代码
    猜你喜欢
    • 1970-01-01
    • 2018-05-02
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多