何时调整图像大小?

3
我正在建立一个手工珠宝的在线商店。当然,我需要展示很多高质量的图片,首先是小尺寸的图片,当客户点击图片时,将重定向到同一张高质量的图片页面。
哪种方式更好:
1.保存两张图片,一张低质量的图片和一张原始质量的图片?
2.在加载图片时使用位图来降低质量?

7
将它们以不同的尺寸保存。这样做的好处是:更高的质量,提高了性能。负面影响是,如果您想要更改此图片的尺寸,您将不得不再次调整它们的大小(但使用批量转换器如IrfanView并不会很麻烦)。 - Yami
我同意@Yami的观点,任何你可能获得的潜在好处,例如可管理性/SEO/其他,都会被传输更高分辨率图像所带来的延迟开销所抵消。 - user1496176
我同意@Yami的观点。对于非常高分辨率的图像,可以使用IIPImage http://iipimage.sourceforge.net/demo/。 - mfrellum
3个回答

1
我会在上传/添加时重新调整它们的大小。我还会确保根据其大小适当地命名它们,例如gold_ring_640_480.jpg
然后,如果我需要更改预览的大小,我会添加功能以根据需要懒惰地调整大小,如果所需的图片尺寸不存在。
Image_240p exists?
  not: create
       save _240p
use the image  

1

您不需要保存所有的图像尺寸。对于我的所有网站,我根据需要的尺寸动态获取图像。当有一个请求带有文件大小时,我会在磁盘上创建一个调整大小后的图像。在下一次相同的请求中,我只需检查:

  • 如果文件已经在浏览器缓存中,我将返回标头,说明网站刚从缓存中获取图像。
  • 如果文件不在浏览器缓存中,我将检查“文件是否已在磁盘上生成”。如果文件可用,只需将其返回给响应。
  • 如果文件不在浏览器缓存中且不在磁盘上,则会生成它并返回文件内容。

有关图像缓存,请参见此参考文献:https://developers.google.com/speed/docs/best-practices/caching

有关使用 .net 在线调整图像大小,请参阅:http://www.codeproject.com/Articles/191424/Resizing-an-Image-On-The-Fly-using-NET


1
这要看情况。按需调整大小会导致服务器负载更重。当很多人访问网站时,这可能是一个问题。
上传时调整大小可以减少这个问题。
在您的客户端使用图像处理软件进行调整大小通常会产生最佳质量和较小的文件大小。
.NET中的“普通”调整大小功能远远达不到这种质量。
另外:考虑缓存。IIS提供了一切可用的东西来使用缓存,也许可以与eTag结合使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接