适当调整图像大小的方法

时间:2012-12-06 11:20:54

标签: c# asp.net-mvc image

我想正确实现一种调整图像大小并缓存它的方法。我有两种实现方法:

1动态调整大小: - 创建一个包含控制器位置,宽度和高度的URL - 如果不存在缓存版本,控制器将创建映像 - 控制器将提供缓存版本

2先调整大小,稍后再服务: - 如果不存在缓存版本,则创建一个图像并返回一个URL来提供缓存的图像(使用自定义的htmlhelper?) - 网址将呼叫控制器。控制器仅提供给定的缓存图像

您将使用什么方式通过缓存实现图像大小调整?上述版本之一或不同的方法?

我喜欢'先调整大小,稍后服务'的方法。因为你不必在网址中使用宽度和高度。但是,“动态调整大小”的专家是你在一个地方拥有所有图像处理代码

2 个答案:

答案 0 :(得分:1)

我同意首先调整大小。实际上,如果缓存图像,则必须在缓存过期时重新计算。如果更换图像会发生什么?您将不得不处理缓存失效,这可能很棘手。最后,您仍然可以使用OutputCache属性使缓存受益。 我能看到的唯一缺点是你需要更多的空间,因为你将存储原始图像和调整大小的图像。

以下是有关如何调整图片大小的完整文章:http://www.codeproject.com/Articles/191424/Resizing-an-Image-On-The-Fly-using-NET

希望这有帮助

答案 1 :(得分:0)

我首先使用调整大小,稍后提供服务,特别是如果您的网站使用CDN进行缓存。你看过Image Resizer for MVC了吗?我正在考虑将此用于此问题。