动态缩小C#中的图像尺寸和图像尺寸

时间:2009-02-24 19:45:55

标签: c# asp.net image-scaling

我有一个使用转发器控件创建的图库。转发器在文件后面的代码中绑定到包含各种图像路径的表。

我的转发器中的图像就像这样填充

<img src='<%# Eval("PicturePath")' %>' height='200px' width='150px'/> 

(或类似的东西,我不记得确切的语法)

问题是有时图像本身很大,所以加载时间有点荒谬。并且填充150x200px图像肯定不需要3MB文件。

有没有办法我不仅可以更改图像尺寸,还可以缩小文件大小?

谢谢!

3 个答案:

答案 0 :(得分:3)

我建议创建一个处理程序,可以动态调整图像大小,并以您喜欢的任何格式对其进行编码。有点像缩略图生成器。这将花费服务器上的CPU,但您可以缓存图像并严重降低带宽成本ETC.让我看看我能否找到一篇关于类似内容的好文章的链接。

你可以看一下this article它不是我读过的那本书,但它有一些关于如何实现这一点的信息。

答案 1 :(得分:1)

您正在寻找Image类的GetThumbnailImage method。您可能希望提前生成缩略图图像,或者在第一次访问时创建图像并将其保存到磁盘供以后使用(因此首次访问会很慢,但后续请求会很快)。

答案 2 :(得分:0)

您可以在CodePlex.com上尝试这两个项目中的任何一个,两者都提供带缓存的动态图像生成。

后者直接来自微软。