我正在测试ImageResizing库的部分内容,特别是调整大小,磁盘缓存和水印。
我相信我已经正确安装了所有内容并且链接如下:
<img src="/images/tests/mytest.png?w=300&watermark=style1" />
在浏览器中渲染良好,并使用随机/散列文件名缓存到磁盘。但是,我无法弄清楚如何使用水印来提供静态图像。我希望diskcache能够仅基于其文件名来提供缓存的图像,但是看着它,我想它需要查询字符串(实际上它使用查询字符串静态渲染)。
我的web.config的<resizer>
部分读取:
<resizer>
<pipeline fakeExtensions=".ashx" />
<plugins>
<add name="DiskCache" />
<add name="AdvancedFilters" />
<add name="Watermark" />
<add name="SimpleFilters" />
</plugins>
<diskCache dir="~/imagecache" />
<watermarks>
<otherimages path="~/site/watermarks" />
<image name="style" path="~/site/watermarks/wmtest.png" imageQuery="filter=alpha(0.65)" Top="175" Left="32" />
</watermarks>
</resizer>
从表面上看,我喜欢ImageDraw(另一个非常强大的库)处理缓存的方式,因为您可以命名缓存文件,即使以静态方式请求也可以提供缓存文件。缺点是ImageDraw在代码隐藏中的编程要重得多。
我的主要目标是让某些带有版权信息的图片加水印,这些图片无法通过修改查询字符串来规避。次要目标是提供快速有效的大小调整和缓存,尤其是缩略图。 ImageResizing似乎非常适合我的次要目标,但看起来缓存只适用于查询字符串选项(记录),除非我错过了另一种方式...因此我的主要问题。
此外,如果不清楚,我正在测试两个库( ImageResizing 和 ImageDraw ),以查看哪个库更适合我们的需求。现在我在Cassini本地工作,但部署将是IIS7服务器,应用程序在ASP.NET 4.0下运行。
答案 0 :(得分:1)