将图像大小调整到客户端(浏览器)是否可以接受

时间:2010-08-01 14:31:59

标签: browser image resize

浏览器可以根据您指定的属性调整图像大小。

但是我想大多数调整大小都是在服务器端完成的,最好是在请求之前。凭借当前CPU的速度,为了简化和节省带宽,将图像大小调整留给浏览器是否可以接受?

6 个答案:

答案 0 :(得分:15)

是的,浏览器可以根据宽度和高度属性调整图像大小,但是您无法控制已调整大小的图像的质量。如果这是你关心的事情,它应该在服务器端完成。

另外需要注意的是,即使调整后的图像小于原始图像,它仍然与完整尺寸的图像具有相同的文件大小。因此,如果您将其留在浏览器中以使100px的100px的2MB文件,用户仍然必须首先下载所有2MB的文件。

答案 1 :(得分:10)

一个用例是当你有一个缩略图一个全尺寸的图像,或者要显示的各种尺寸。在这种情况下,可以使用一个图像并调整大小。请注意,现代浏览器现在使用双三次重采样,因此在调整大小时不会遇到带有大量工件的锯齿状,粗糙的插值,这曾经是一个非常令人信服的理由,不会让浏览器调整图像大小。

答案 2 :(得分:5)

即使我们在更高的消费者带宽方面取得了进步,我仍然认为允许浏览器调整图像大小是不可接受的。实际上,带宽仍然会根据用户的服务水平而大幅变化。

您还需要考虑可能的用例。想象一下新闻故事列表,每个故事都有自己的缩略图,基于底层文章的主要图像。现在让我们说我们在一个分页视图中显示其中的20个。

即使那些带宽量很大的人也会注意到那些(为了争论)2MB图像弹出。这假设无论是谁上传内容,在图像大小方面都会采用某种约束。如果说,图像可以直接从扫描中获得更大的数据。

如果您的网站位于公共互联网上,您几乎可以保证您的某些用户的带宽不足。投诉将会出现,并且最终会对您产生严重影响。

我们甚至没有涵盖宽高比等内容。当客户试图将长而细的图像放入为正方形设计的容器中时会发生什么?该网站看起来不专业,就是这样。

此外,将这些大型文件发送到 n 客户端的成本如何?带宽不是免费的。

所以不,让浏览器调整图像大小是绝对不可接受的,尤其是当您可以投资或开发服务器端图像处理库时。这将处理调整大小,庄稼等。它还可以帮助您为所有用户提供最高效的体验。不是每个人都有50Mb进入他们的场所。

答案 3 :(得分:4)

我遇到了一个网站,该网站购买了库存照片,并在其网页中嵌入了2Mpx原始图片,其中widthheight指令的缩略图大小为~150px。我只是注意到因为页面花了大约一分钟才加载。

另一方面,我可以将浏览器缩放300%并且图像保持清晰(仍未达到其原始分辨率)。我猜这不是设计目标。

答案 4 :(得分:3)

在浏览器上进行的调整大小就是显示的大小 - 下载完整的图像并以简单的方式显示所需的大小。它们的外观将取决于浏览器编写者编写的一些图像大小调整算法 - 您无法控制质量。

这是带宽以及客户端上CPU和内存使用的问题。

正如你猜测的那样,大多数图像都是事先确定的,早在任何请求之前。即使使用快速CPU,您也不希望在运行中执行此操作。

较小的图片也意味着没有宽带的用户可以在不等待下载大图片的情况下享受您的网站。

答案 5 :(得分:2)

我个人在服务器上进行图像大小调整(缩略图)并将它们保存在单独的文件夹中。这有助于我保持低带宽。

如果您不想将它们存储在您的服务器上并且只是根据要求(在线)执行,您可以使用酷炫的脚本,例如: TimThumb 是:http://www.darrenhoyt.com/2008/04/02/timthumb-php-script-released/

Everyting取决于服务器的负载和每页图像数量(当然还有流量) 如果您想将它们存储在服务器上,那么您可以使用http:// phpthumb .sourceforge.net /或 ImageMagick (我将其用于缩略图+水印)