Facebook 和其他图像密集型网站如何在不缩小或扭曲缩略图的情况下保持完整图像的缩略图大小?
这些拇指是否是原始版本的裁剪版本并已存储,因此当单击拇指时,它们会参考完整尺寸的图像。
如果我只是尝试将它们限制在我的 img 标签中的预设大小,我的图像会被拉伸或缩小。
理想情况下,我想裁剪每个图像以适应预设尺寸而不扭曲纵横比。如果这可以即时完成,这是一种处理大量图像的有效方法吗?
Facebook 和其他图像密集型网站如何在不缩小或扭曲缩略图的情况下保持完整图像的缩略图大小?
这些拇指是否是原始版本的裁剪版本并已存储,因此当单击拇指时,它们会参考完整尺寸的图像。
如果我只是尝试将它们限制在我的 img 标签中的预设大小,我的图像会被拉伸或缩小。
理想情况下,我想裁剪每个图像以适应预设尺寸而不扭曲纵横比。如果这可以即时完成,这是一种处理大量图像的有效方法吗?
使用 HTML 标记或 CSS 样式调整图像大小被认为是不好的做法。放大它们意味着质量差,缩小它们意味着您的用户必须下载比必要更大的文件,这会损害速度。
几乎所有语言或框架都有为图像调整大小和缓存而构建的库。它们主要还具有裁剪功能,以保持标准的纵横比。对于 PHP,请查看基于 GD/ImageMagick的phpThumb 。
生成的图像大小调整版本保存在缓存文件夹中,因此每次请求图像时都不需要重新生成它们。这样,性能几乎与提供静态文件一样好。唯一的开销是检查缓存中是否存在调整大小的版本。
我不能直接代表 facebook,但大多数网站上传一张大图片,然后自动重新创建更小的预设尺寸(通常通过脚本语言和某种库,如 PHP/GD)并以相似的文件名保存模式,以便您可以使用尽可能少的带宽,缩短加载时间,并避免使用 css 操作图像。