Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 网站上的图像_Php_Image Processing_Image Manipulation - Fatal编程技术网

Php 网站上的图像

Php 网站上的图像,php,image-processing,image-manipulation,Php,Image Processing,Image Manipulation,我需要一些关于某些形象策略利弊的建议。当创建图片量很大的网站时,重要的是所有的图片都是最好的质量,对性能的影响最小。 让我们以模拟产品评论的页面为例。您可能有一个正常大小的产品快照和多个不同大小的缩略图 解决这一问题的两种技术可能是,使用产品快照并通过复制原始图像创建所有必要的缩略图,然后将其调整大小或剪切到所有所需的大小,或者一种技术可以“按需”创建这些不同大小的缩略图,方法是随时调整大小并向客户发送“临时”图像 有没有人对如何实现这一点有过其他的经验,或者以上讨论的方法有什么优点和缺点 谢谢

我需要一些关于某些形象策略利弊的建议。当创建图片量很大的网站时,重要的是所有的图片都是最好的质量,对性能的影响最小。 让我们以模拟产品评论的页面为例。您可能有一个正常大小的产品快照和多个不同大小的缩略图

解决这一问题的两种技术可能是,使用产品快照并通过复制原始图像创建所有必要的缩略图,然后将其调整大小或剪切到所有所需的大小,或者一种技术可以“按需”创建这些不同大小的缩略图,方法是随时调整大小并向客户发送“临时”图像

有没有人对如何实现这一点有过其他的经验,或者以上讨论的方法有什么优点和缺点


谢谢,

按需调整大小和裁剪是非常资源密集型的。您应该执行一次,然后缓存它

对于图像密集型网站,所有图像都应进行jpeg编码并压缩,直到您可以开始在图像中看到压缩瑕疵为止


如果你有很多小的图像,或者每个请求加载的图像,考虑使用数据URI把它们放在你的CSS中:

存储通常比带宽和处理更便宜,所以在大多数情况下-尤其是当你只谈论一组相当受限的缩略图时,最好先做处理。这也有利于简化缓存策略。

我同意Andy和Petah(数据URI除外,因为它不可缓存或不受广泛支持)

不过,我们要更进一步。我更喜欢按需调整大小。它可能是资源密集型的,但通过适当的缓存,这是维护原始高质量图像和动态提供设计所需的所有图像大小的最佳平衡


您注意到PHP,我使用了。

并不是每个图像都最好保存为JPEG。使用提供最佳压缩的格式。所有主要浏览器都支持数据URI,包括Gecko(Firefox)、Konqueror、Opera、Safari、Chrome、IE 8+、以及IE 5.5+中支持的MHTML数据URI。而且它们是可以缓存的,因为它们是用CSS编写的,你是说你不能缓存CSS吗?“按需调整大小”和“缓存”几乎是相互矛盾的。@Petah-Cachable在外部样式表的CSS中,可能是这样。那么,您的计划是为图像密集型站点的所有小图像输出数据URI?祝你好运至于支持,IE7呢?最后,在对大小调整和缓存做出假设之前,请查看SLIR库。@Jason,IE 7支持MHTML。@Petah,我收集到了。所以,我不仅要为我所有的小图像编写数据URI,而且现在如果我想支持IE7,我还必须有条件地添加MHTML?听起来像是做了很多工作却没有任何好处。数据URI很好,但鉴于OP规范,我不会使用或建议它们。