使用LEADTOOLS注解实现用户定义的拇指样式

总结

使用LEADTOOLS注解,您可以创建自己的自定义拇指(控制点)。您可以为位置创建自定义样式,旋转中心和旋转夹持器拇指。

要实现用户定义的thumb样式,需要创建一个实现IAnnThumbStyle接口。然后,您需要将您的自定义拇指样式类分配给IAnnObjectRenderer接口,它将在呈现注释对象时使用您的自定义拇指样式。

下面的示例演示如何为注释对象创建自定义thumbs。从中创建的示例开始使用LEADTOOLS注解实现用户定义的对象

  1. 首先,创建一个派生自基类的新类AnnThumbStyle,并重写目录方法:

    ///////////////////////////////////////////////////////////////////////////////// / AnnTriangleThumbStyleAnnTriangleThumbStyle =函数AnnTriangleThumbStyle () {AnnTriangleThumbStyle.initializeBase ();AnnTriangleThumbStyle。原型= {//覆盖AddPath方法并绘制我们的自定义拇指目录:函数$addPath(context, rect) {/ / AnnTriangleThumbStyle。callBaseMethod(this, 'addPath', [context, rect]);如果(上下文! =) {context.moveTo(矩形。离开,rect.bottom);context.lineTo(矩形。Left + rectangle .width / 2, rectangle .top);context.lineTo(矩形。对,rect.bottom);context.lineTo(矩形。离开,rect.bottom);AnnTriangleThumbStyle.registerClass (“AnnTriangleThumbStyle”, lt.Annotations.Rendering.AnnThumbStyle);

  2. 接下来,将自定义拇指样式类分配给注释对象渲染器。中替换以下代码createTriangleAutomationObject功能:

    //竖起大拇指varannTriangleRenderer =AnnTriangleRenderer ();varannpolylinerender = renderingEngine.renderers[lt.Annotations.Engine.AnnObject.polylineObjectId];annTriangleRenderer。locationsThumbStyle = annpolylinerender .locationsThumbStyle;annTriangleRenderer。rotateCenterThumbStyle = annpolylinerender .rotateCenterThumbStyle;annTriangleRenderer。rotateGripperThumbStyle = annpolylinerender .rotateGripperThumbStyle;

    与以下:

    //创建自定义拇指并将其分配给渲染器varannTriangleRenderer =AnnTriangleRenderer ();//自定义位置拇指样式varlocationThumb =AnnTriangleThumbStyle ();locationThumb。铅大小。Create (72 * 2,72 * 2);locationThumb。stroke = lt.Annotations.Engine.AnnStroke.create(lt.Annotations.Engine.AnnSolidColorBrush.create(“黑色”), lt.LeadLengthD.create (1));locationThumb。fill = lt.Annotations.Engine.AnnSolidColorBrush.create(“rgba(0 0255。5)”);annTriangleRenderer。locationsThumbStyle = locationThumb;//自定义旋转拇指样式varrotateCenterThumb =AnnTriangleThumbStyle ();rotateCenterThumb。铅大小。创建(72、72);rotateCenterThumb。stroke = lt.Annotations.Engine.AnnStroke.create(lt.Annotations.Engine.AnnSolidColorBrush.create(“黑色”), lt.LeadLengthD.create (1));rotateCenterThumb。fill = lt.Annotations.Engine.AnnSolidColorBrush.create(“rgba(255, 0, 0,。9)”);annTriangleRenderer。rotateCenterThumbStyle = rotateCenterThumb;//自定义旋转夹持器拇指样式varrotateGripperThumb =AnnTriangleThumbStyle ();rotateGripperThumb。铅大小。Create (72 * 2,72 * 2);rotateGripperThumb。stroke = lt.Annotations.Engine.AnnStroke.create(lt.Annotations.Engine.AnnSolidColorBrush.create(“黑色”), lt.LeadLengthD.create (1));rotateGripperThumb。fill = lt.Annotations.Engine.AnnSolidColorBrush.create(“rgba(0255 0。3)”);annTriangleRenderer。rotateGripperThumbStyle = rotateGripperThumb;

LEADTOOLS HTML5 JavaScript
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。