首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Imageresizer水印-更改图像

Imageresizer水印-更改图像
EN

Stack Overflow用户
提问于 2017-07-07 17:49:44
回答 2查看 225关注 0票数 0

我有水印工作正常使用asp.net图像大小,但我希望能够通过一个管理功能设置水印图像。

图像路径是在web.config中设置的,但如果我覆盖此图像,水印不会更改-除非我更改web.config,否则它始终显示旧图像。所以很明显,它被缓存了--如何让它返回带有新水印文件的图像呢?

我试着触摸应用了水印的文件,触摸水印文件本身-除非我更改web.config,否则一切都不起作用,这对于实时站点是不可行的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-08 00:57:30

水印覆盖是内存缓存的,以实现最佳性能-因此无需磁盘检查。水印插件可以通过C#重新配置-所以如果你需要动态改变水印数据,我建议这样做,而不是覆盖文件。这是一个新的图像,所以更改文件名。这也将确保缓存的结果与过时的覆盖/水印立即更新。

票数 1
EN

Stack Overflow用户

发布于 2017-07-13 03:17:33

这就是我如何解决这个问题的,通过创建一个新的图像并动态设置命名图层的“路径”。

代码语言:javascript
复制
    public static void SetWatermarkFile(string layername, string filename)
    {
        var wp = ImageResizer.Configuration.Config.Current.Plugins.Get<ImageResizer.Plugins.Watermark.WatermarkPlugin>();
        var named = wp.NamedWatermarks[layername];
        ((ImageResizer.Plugins.Watermark.ImageLayer)((ImageResizer.Plugins.Watermark.Layer[])named)[0]).Path = WatermarkFilesPath + "/" + filename;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44967758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档