早在DNN imagehandler被集成到核心的时候,我就写了这个关于这些特性的文档。该文档附属于JIRA支持案例,但这不是开发人员或用户会关注选项和可能性的地方,因此我决定将其作为博客发布在dnnsoftware.com上。我不确定所有选项在最新版本中是否仍然有效,但我认为在此期间没有太大变化。希望你觉得有用!
DnnImageHandler文档
的附加语句来启用图像处理程序功能system.webServer /处理程序的部分. config:
如果您输入以下图像url,可以使用图像处理程序:
http://mydomain.com/dnnimagehandler.ashx?mode=xyz¶m1=value1¶m2=value2.。.
这里定义了几种模式:
- profilepic-显示个人资料图片给一个给定的用户id(如果允许)或一个通用的“无头像”的形象
- 文件-通过给定的文件名和路径或url显示图像
- securefile-显示给定字段的图像(如果允许)。如果没有图像格式,则显示文件类型图标
- 占位符-显示带有图像尺寸或文本的矩形
这些“模式”正在生成一幅图像。生成的图像可以通过其他参数进行修改。可用的修改有:
- 调整-定义尺寸的结果图像与不同的调整大小模式,添加边框和彩色背景
- 格式-定义生成图像的结果格式(jpg, png…)
- γ-调整伽马值
- 亮度-调整亮度值
- 对比-调整对比度值
- 灰度-转换为灰度图像
- 反-转换为负图像
- 旋转+翻转-旋转和/或翻转图像
没有图像
查询字符串参数NoImage允许用户指定图像文件的文件路径,我们希望在图像处理无法完成的情况下提供服务(即:尝试显示我没有作为特定用户访问的安全文件)。
如果不提供查询字符串NoImage,则系统将提供1x1像素的透明图像。文件路径仅限于以下文件夹(及其子文件夹)
模式:Profilepic
profilepic模式向给定的用户id(如果允许)或通用的“无头像”图像显示个人资料图片。其功能与旧的概要文件相同。ashx处理程序。
参数:
名字 |
意义 |
用户标识 |
应显示其配置文件图像的用户ID。如果省略,则生成当前用户的头像。如果没有用户登录或不允许显示头像,则生成通用头像图像 |


模式:文件
文件模式根据给定的文件名显示图像,并带有路径或url或文件路径和索引(按字母顺序)。
参数:
名字 |
意义 |
文件 |
包含文件名的文件的相对路径,例如:/Portals/0/images/myimage.gif |
请注意:出于安全考虑,查询字符串中提供的文件路径仅限于以下文件夹(及其子文件夹):
或者:
名字 |
意义 |
url |
Url到图像(Url编码),例如:http%3A%2F%2Fwww.indisoftware.de%2FPortals%2F0%2Findilogo.png |


模式:Securefile
securefile模式根据给定的字段(如果允许的话)显示图像。如果没有图像格式,则显示文件类型图标
参数:
名字 |
意义 |
文件标识 |
如果已登录的用户具有该文件的查看权限,则显示具有给定字段id的图像。如果文件不是图像文件,则生成一个图标(从file_icons /Sigma/ext%EXTENSION%)32 x32_standard.png) |
(skin.css)
(1-icn.png)

模式:占位符
占位符模式显示带有图像尺寸或文本的矩形
参数:
名字 |
意义 |
w |
像素宽度 |
h |
高度(像素) |
颜色 |
前景颜色 |
背景色 |
背景颜色 |
文本 |
要在图像上显示的文本。如果省略,则显示尺寸 |


附加模式扩展
模式是可扩展的!如果开发人员编写的dll包含派生自的类(例如:PercentTransform)
DotNetNuke.Services.GeneratedImage.ImageTransform
使用一个名为“value”的公共属性,他创建了一个百分比圆,如下所示:

复制这个dll到DNN箱子文件夹中添加一个条目AppSettings的部分. config是这样的:
<添加关键= " DnnImageHandler。“价值= " MyNamespace百分比。% % transform, NameOfMyDll" />
(5)他能够调用imagehandler的URL语法像这样:
http://mydomain.com/DnnImagehandler.ashx?mode=percent&value=30
我的github项目BBImageHandler-8包括一堆这些扩展(例如条形码,图像从数据库等),所以如果你有兴趣创建自己的imagehandler扩展这将是一个很好的起点看!
过滤器:调整
使用不同的调整大小模式定义生成图像的尺寸,添加边框和彩色背景。
参数:
名字 |
意义 |
w |
图像宽度 |
h |
图像高度 |
大小 |
预定义的图像大小:xxs: 16x16, xs:32x32, s:50x50, l:64x64, xl:128x128, xxl:256x256 |
maxwidth |
而不是宽度,这可以用来让图片保持原样,直到宽度达到最大值。 |
maxheight |
而不是高度,这可以用来让图片保持原样,直到高度达到最大值。 |
resizemode |
- 适合Mode保持原始图像的宽高比,同时确保结果的尺寸不超过调整大小转换的最大值。(需要宽度或高度参数)
- fitsquare以给定宽度作为其最长边(取决于图像方向)调整图像大小,并保持宽高比。图像将以选定的背景色居中(需要宽度参数,背景色可选)
- 作物调整图像大小并删除部分图像,以确保结果的尺寸与转换指定的尺寸完全一致。(需要宽度和高度参数)
- 填满在不保持宽高比的情况下,用给定的宽度或高度调整图像的大小。
|
背景色 |
背景或/和边框的颜色resizemode是fitsquare或适合 |
边境 |
边框宽度(像素)周围的图像(添加到宽度/高度)时resizemode是fitsquare或适合. |


过滤器:伽马
调整伽马值
参数:
< img src = " / dnnimagehandler.ashx ?模式= profilepic&用户id = 2,大小= xl&γ= 4 " / >

过滤器:亮度
调整亮度值
参数:
名字 |
意义 |
亮度 |
亮度调节值在-255到+255之间 |
过滤器:对比
调整对比度值
参数:
名字 |
意义 |
对比 |
在-100和+100之间的对比度调整值 |


过滤器:灰度
将图像转换为灰度
参数:
名字 |
意义 |
灰度 |
如果存在,图像将转换为灰度(需要虚拟值,例如“1”) |
过滤器:反
将图像转换为其负数表示形式
参数:
名字 |
意义 |
反 |
如果存在,图像被反转(需要虚拟值,例如“1”) |


过滤器:Rotateflip
旋转和/或翻转图像
参数:
名字 |
意义 |
rotateflip |
RotateNoneFlipNone:指定不顺时针旋转和不翻转。 Rotate90FlipNone:指定90度顺时针旋转,不翻转。 Rotate180FlipNone:指定不翻转的顺时针180度旋转。 Rotate270FlipNone:指定不翻转的顺时针旋转270度。 RotateNoneFlipX:指定没有顺时针旋转,然后是水平翻转。 Rotate90FlipX:指定顺时针旋转90度,然后是水平翻转。 Rotate180FlipX:指定顺时针旋转180度,然后是水平翻转。 Rotate270FlipX:指定顺时针旋转270度,然后是水平翻转。 RotateNoneFlipY:指定没有顺时针旋转,然后是垂直翻转。 Rotate90FlipY:指定顺时针旋转90度,然后垂直翻转。 Rotate180FlipY:指定顺时针旋转180度,然后垂直翻转。 Rotate270FlipY:指定顺时针旋转270度,然后垂直翻转。 RotateNoneFlipXY:指定没有顺时针旋转,然后是水平和垂直翻转。 Rotate90FlipXY:指定顺时针旋转90度,然后是水平和垂直翻转。 Rotate180FlipXY:指定顺时针旋转180度,然后是水平和垂直翻转。 Rotate270FlipXY:指定顺时针旋转270度,然后是水平和垂直翻转。 |
配置
imagehandler有几个选项可以通过web.config中的配置进行设置。你可以在appSettings-section中设置你的选项:
以下选项可用:
名字 |
意义 |
EnableIpCount |
默认值:真正的.如果为true,则将计算图像的每一代。如果IPCountMax没有更多的图像生成,直到IPCountPurgeInterval是。江南娱乐平台下江南app中国官方网站物理上在_App_Data/中有一个文件ipcount对于每个包含点击数的IP。当IPCountPurgeInterval结束,此文件被删除。 |
IpCountMax |
默认值:50.在定义的时间跨度内允许的IP的最大点击数IPCountPurgeInterval |
IPCountPurgeInterval |
默认值:300.测量来自一个IP的点击数的秒数。 |
EnableServerCache |
默认值:真正的.启用服务器端缓存文件夹_App_Data/中的图像图片 |
ServerCacheExpiration |
默认值:180.直到从图像缓存文件夹中删除图像并重新生成图像。 |
EnableClientCache |
默认值:真正的.启用图像的客户端缓存(响应304 http响应直到ClientCacheExpiration达到) |
ClientCacheExpiration |
默认值:600.秒缓存客户端站点上的图像。 |
AllowStandAlone |
默认值:假.如果为真,图像可以通过图像url独立显示。如果为false,则只显示集成在网页中的图像(referrer不是null),其他返回403(禁止)http状态码。 |
LogSecurity |
默认值:假.如果是真的,击中IPCountMax或AllowStandalone边界产生一个事件日志条目 |
AllowedDomains |
默认值:空字符串.缺省情况下,允许所有网站作为引用。这里包括一个逗号分隔的域名列表,以限制你的图像嵌入到这些域名的页面(例如。mydomain.com, myotherdomain.net) |
ImageCompression |
默认值:95.设置图像生成质量。取值范围为0 ~ 100。 |