实现用户定义的拇指风格与LEADTOOLS注释

与LEADTOOLS注释,您可以创建自己的自定义的拇指(控制点)。您可以创建自定义样式的位置,旋转中心和旋转夹具的拇指。

实现一个用户定义的拇指风格,创建一个类,它实现了IAnnThumbStyle接口。然后,指定您的自定义一个拇指样式类IAnnObjectRenderer接口,它将使用定制的拇指风格呈现注释对象时。

下面的例子演示了如何创建一个自定义注释对象的拇指。从创建的例子开始实现用户定义的对象与LEADTOOLS注释

首先,创建一个新类,从基类派生而来AnnThumbStyle,覆盖目录方法:

c#
公共AnnTriangleThumbStyle: AnnThumbStyle{受保护的覆盖AnnThumbStyle Create (){返回AnnTriangleThumbStyle ();}受保护的覆盖无效目录(System.Drawing.Drawing2D。GraphicsPath路径,LeadRectD矩形){如果(路径! =){/ /添加我们的三角形浮动左= (浮动)rect.Left;浮动正确的= (浮动)rect.Right;浮动宽度=(左,右)/ 2;浮动顶级= (浮动)rect.Top;浮动底= (浮动)rect.Bottom;路径。AddLine(左、下、左+宽,顶部);路径。AddLine(左+宽,顶部,底部);路径。AddLine(右、下、左、底部);path.CloseFigure ();}}}

接下来,指定您的自定义拇指样式类注释对象渲染器。替换后的代码设置我们的渲染器,AnnPolylineObject一样的评论InitializeTriangleObject:

c#
/ /设置渲染器/ /获取当前折线渲染器(我们需要使用一些属性没有改变)IAnnObjectRenderer polylineRenderer = annotations.AutomationManager.RenderingEngine.Renderers [AnnObject.PolylineObjectId];/ /创建新的渲染器IAnnObjectRenderer渲染器=AnnPolylineObjectRenderer ();/ /渲染器使用现有的标签。它没有被改变渲染器。LabelRenderer = polylineRenderer.LabelRenderer;/ /现在,使用新的三角形大拇指:/ /改变位置的拇指的风格AnnTriangleThumbStyle locationThumb =AnnTriangleThumbStyle ();locationThumb。= LeadSizeD大小。创建(72 * 72 * 2);locationThumb。中风= AnnStroke.Create (AnnSolidColorBrush.Create (“黑色”),LeadLengthD.Create (1));locationThumb。填补= AnnSolidColorBrush.Create (“# 7 f0000ff”);渲染器。LocationsThumbStyle = locationThumb;/ /改变旋转中心拇指风格AnnTriangleThumbStyle rotateCenterThumb =AnnTriangleThumbStyle ();rotateCenterThumb。= LeadSizeD大小。创建(72、72);rotateCenterThumb。中风= AnnStroke.Create (AnnSolidColorBrush.Create (“黑色”),LeadLengthD.Create (1));rotateCenterThumb。填补= AnnSolidColorBrush.Create (“# EFFF0000”);渲染器。RotateCenterThumbStyle = rotateCenterThumb;/ /改变旋转夹拇指风格AnnTriangleThumbStyle rotateGripperThumb =AnnTriangleThumbStyle ();rotateGripperThumb。= LeadSizeD大小。创建(72 * 72 * 2);rotateGripperThumb。中风= AnnStroke.Create (AnnSolidColorBrush.Create (“黑色”),LeadLengthD.Create (1));rotateGripperThumb。填补= AnnSolidColorBrush.Create (“# 3 f00ff00”);渲染器。RotateGripperThumbStyle = rotateGripperThumb;annotations.AutomationManager.RenderingEngine.Renderers [AnnTriangleObject。MyId] =渲染器;

LEADTOOLS成像、医学和文档
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2022领先的技术公司。保留所有权利。