我目前有一个聚合图像的网站,问题是这些图像非常大,当我以较小的尺寸显示它们时,它们仍然会占用大量计算量。
我很好奇如何实际强制减小尺寸/质量而不只是将其压缩成 <div>
元素。
这是我的问题网站,您可以看到它在生成图像时变得多么“滞后”: http://newgameplus.nikuai.net/TEST/index.html
我正在使用 timthumb.php 来调整图像大小,但主机出于某种原因不允许该脚本。
最佳答案
最好的方法是使用某种图像重构服务。
我自己编写了一个使用 ffmpeg 和 imagemagik 动态调整图像大小并从视频生成任意大小的缩略图。我将结果缓存到内存中,使后续请求变得非常快速,并增加了一些有趣的功能,例如使用人脸检测和图像熵自动检测兴趣点,目的是“无论大小,缩略图都不错”
此类服务的一个示例是 src.sencha.io - 此服务的文档是 here但我在下面包含了重要的部分。
指定图片大小
<img src='http://src.sencha.io/320/200/http://yourdomain.com/path/to/image.jpg'
alt='My constrained image'
width='320'
height='200' />
这将获取您的图像 (http://yourdomain.com/path/to/image.jpg) 并通过调整大小服务运行,返回图像的 320x200 版本。不过,您不能使用此服务设置重力/兴趣点(据我所知)。
您还可以使用此服务来更改格式、调整 dataurl 的大小、按百分比调整大小并使用调整大小服务来检测请求图像的用户代理的宽度/高度。
网络上有很多这样的服务。
关于php - 在网站上调整图像大小以提高效率。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11225147/