使用LEADTOOLS注解,您可以创建自己的自定义拇指(控制点)。您可以为位置创建自定义样式,旋转中心和旋转夹持器拇指。
要实现用户定义的thumb样式,需要创建一个实现IAnnThumbStyle接口。然后,您需要将您的自定义拇指样式类分配给IAnnObjectRenderer接口,它将在呈现注释对象时使用您的自定义拇指样式。
下面的示例演示如何为注释对象创建自定义thumbs。从中创建的示例开始使用LEADTOOLS注解实现用户定义的对象.
首先,创建一个派生自基类的新类AnnThumbStyle,并重写目录方法:
////////////////////////////////////////////////////////////////////////////////
/ / AnnTriangleThumbStyle
AnnTriangleThumbStyle =函数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);
接下来,将自定义拇指样式类分配给注释对象渲染器。中替换以下代码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;