Skip to content

Class: Layer

只用作展示的层,每个层对应一个Canvas. 只有加入到Layer中的对象(Node、Link及其子类的实例),才可能被绘制并显示出来.

js

// 创建
let layer = new Layer('myLayer');
stage.addChild(layer);

// 常用方法

// 添加对象
layer.addChild(node);
layer.addChilds([node1, node2, link1, link2, node3]);

// 查找对象
let node = layer.querySelector('Node[name="node1"]');
let nodes = layer.querySelectorAll('.myClass');
let link = layer.querySelector('[text="myLink"]');

// 鼠标信息
let x = layer.mouseX;

// 设置背景
// 颜色
layer.css({
   background: 'gray'
});

// 图片
layer.css({
   background: 'url(./assets/img/blue_bg.png) no-repeat',
   backgroundSize: '100% 100%'
});

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new Layer(name?)

Parameters

NameTypeDescription
name?string名字

Overrides

Node.constructor

Properties

_computedStyle

Readonly _computedStyle: Style

层叠样式计算后的

主题、自定义样式类、css方法设置三者叠加后的最终结果

只读,不要修改

Inherited from

Node._computedStyle


_image

Optional _image: HTMLImageElement

Inherited from

Node._image


_visible

_visible: boolean

Inherited from

Node._visible


allwaysSerializers

allwaysSerializers: string[]

总会被序列化的属性列表

Overrides

Node.allwaysSerializers


axis

axis: Axis

坐标轴,默认隐藏


canvas

canvas: HTMLCanvasElement

Since

2.4.0


children

Readonly children: DisplayObject[]

子节点集合

Inherited from

Node.children


classList

Readonly classList: string[]

通过addClass添加的样式名称列表

Inherited from

Node.classList


className

Readonly className: "Layer"

Overrides

Node.className


connectable

connectable: boolean

是否可连线,仅仅编辑模式有意义

Inherited from

Node.connectable


data

Optional data: any

为了安全考虑,防止与对象属性冲突,用户最好使用该对象 用户附加到该对象的自定义属性

Since

2.4.0

Inherited from

Node.data


deep

deep: number

层级深度, Layer为0,下面第一层子节点为1,依次类推

Inherited from

Node.deep


destroyed

destroyed: boolean

Inherited from

Node.destroyed


displayList

Readonly displayList: (Node | Link)[] = []

绘制在当前画布上对象列表


draggable

draggable: boolean

是否可拖拽

Inherited from

Node.draggable


dropAllowed

dropAllowed: boolean

是否可以作为拖拽目标

Since

2.4.0

Inherited from

Node.dropAllowed


editable

editable: boolean

是否可以调整角度、尺寸,仅仅编辑模式有意义

Inherited from

Node.editable


frozen

frozen: boolean

是否冻结(所有下级子节点)

冻结后鼠标拾取到子节点或者本节点都视为拾取了本节点

Inherited from

Node.frozen


getAnchorPoints

getAnchorPoints: Function

Inherited from

Node.getAnchorPoints


getCtrlPoints

getCtrlPoints: Function

Inherited from

Node.getCtrlPoints


inLinks: Link[]

所有以本对象为结束点的Link对象数组

Inherited from

Node.inLinks


isLayer

Readonly isLayer: boolean

Overrides

Node.isLayer


Optional isLink: boolean

是否是Link对象

Inherited from

Node.isLink


isNode

Readonly isNode: boolean

是否是Node类的对象, 主要用于和Link区分

Overrides

Node.isNode


isSelected

isSelected: boolean

是否被选中了

Inherited from

Node.isSelected


mouseEnabled

mouseEnabled: boolean

是否响应鼠标,为false的时候,不响应鼠标的动作

Inherited from

Node.mouseEnabled


mouseX

mouseX: number = -1

鼠标在Layer中的坐标x


mouseY

mouseY: number = -1

鼠标在Layer中的坐标y


name

Optional name: string

名称,可以在编辑时指定,运行时通过名称获取对象的引用

Inherited from

Node.name


onUpdate

Optional onUpdate: Function

每一帧绘制前会调用

Since

2.4.0


origin

origin: number[]

本地坐标系的原点,采用单位化坐标, 默认为[0,0], 父对象的中心

Inherited from

Node.origin


originAlignPosition

Optional originAlignPosition: RectPosition

对齐原点的位置: center

Inherited from

Node.originAlignPosition


outLinks: Link[]

所有以本本对为开始点的Link对象数组

Inherited from

Node.outLinks


paintSelected

Optional paintSelected: Function

Inherited from

Node.paintSelected


painted

painted: boolean

是否绘制到了最后一帧:是否在当前最新的画布上

Inherited from

Node.painted


parent

Optional parent: DisplayObject

上级对象

Inherited from

Node.parent


pickType

pickType: PickType

鼠标拾取方式(节点内容,还是整个节点矩形区域)

Inherited from

Node.pickType


rotateWithParent

rotateWithParent: boolean

是否跟随父节点旋转

Inherited from

Node.rotateWithParent


selectedStyle

Optional selectedStyle: Style

选中时的样式,如果不设置将使用默认的

Inherited from

Node.selectedStyle


serializeable

serializeable: boolean

是否可序列化,默认true 如果为false,序列化时将跳过该对象

Inherited from

Node.serializeable


serializers

serializers: string[]

序列化属性列表

Overrides

Node.serializers


shape

shape: Shape

Inherited from

Node.shape


showSelected

showSelected: boolean

是否显示选中的效果,默认显示

Inherited from

Node.showSelected


stage

stage: Stage


style

style: Style

样式

Inherited from

Node.style


textRotation

textRotation: number

文本的旋转角度,相对于节点

Inherited from

Node.textRotation


type

Optional type: string

类型,自定义类型

可用于自定义节点,区分节点类型

比用data属性更方便一点

Since

2.4.0

Inherited from

Node.type


wheelZoom

wheelZoom: boolean = true

是否响应鼠标缩放


z

z: number

Inherited from

Node.z

Accessors

bottom

get bottom(): number

Since

2.4.0

Returns

number

Inherited from

Node.bottom

set bottom(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.bottom


frames

get frames(): number

Returns

number

set frames(v): void

Parameters

NameType
vnumber

Returns

void


height

get height(): number

Returns

number

Inherited from

Node.height

set height(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.height


image

get image(): HTMLImageElement

Since

2.5.0

Returns

HTMLImageElement

Inherited from

Node.image

set image(v): void

Since

2.5.0

Parameters

NameType
vHTMLImageElement

Returns

void

Inherited from

Node.image


imageSrc

get imageSrc(): string

获取图片的src

Returns

string

Inherited from

Node.imageSrc

set imageSrc(v): void

使用src来设置图片

Parameters

NameType
vstring

Returns

void

Inherited from

Node.imageSrc


left

get left(): number

Since

2.4.0

Returns

number

Inherited from

Node.left

set left(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.left


originAutoRotate

get originAutoRotate(): boolean

Returns

boolean

Inherited from

Node.originAutoRotate

set originAutoRotate(v): void

Parameters

NameType
vboolean

Returns

void

Inherited from

Node.originAutoRotate


get right(): number

Since

2.4.0

Returns

number

Inherited from

Node.right

set right(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.right


rotation

get rotation(): any

Returns

any

Inherited from

Node.rotation

set rotation(v): void

Parameters

NameType
vany

Returns

void

Inherited from

Node.rotation


scaleX

get scaleX(): number

Returns

number

Inherited from

Node.scaleX

set scaleX(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.scaleX


scaleY

get scaleY(): number

Returns

number

Inherited from

Node.scaleY

set scaleY(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.scaleY


skewX

get skewX(): number

Returns

number

Inherited from

Node.skewX

set skewX(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.skewX


skewY

get skewY(): number

Returns

number

Inherited from

Node.skewY

set skewY(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.skewY


text

get text(): string

Returns

string

Inherited from

Node.text

set text(v): void

Parameters

NameType
vstring

Returns

void

Inherited from

Node.text


top

get top(): number

Since

2.4.0

Returns

number

Inherited from

Node.top

set top(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.top


userData

get userData(): any

Deprecated

已过时,请使用更简短的:data 属性替代

Returns

any

Inherited from

Node.userData

set userData(v): void

Deprecated

已过时,请使用更简短的:data 属性替代

Parameters

NameType
vany

Returns

void

Inherited from

Node.userData


visible

get visible(): boolean

Returns

boolean

Inherited from

Node.visible

set visible(v): void

Parameters

NameType
vboolean

Returns

void

Inherited from

Node.visible


width

get width(): number

Returns

number

Inherited from

Node.width

set width(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.width


x

get x(): number

Returns

number

Inherited from

Node.x

set x(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.x


y

get y(): number

Returns

number

Inherited from

Node.y

set y(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.y


zIndex

get zIndex(): number

Returns

number

Inherited from

Node.zIndex

set zIndex(v): void

Parameters

NameType
vnumber

Returns

void

Inherited from

Node.zIndex

Methods

_resetBg

_resetBg(): void

Returns

void


addChild

addChild(child): Layer

增加子对象

Parameters

NameType
childany

Returns

Layer

Overrides

Node.addChild


addChilds

addChilds(childs): void

一次性增加多个对象, 比单个增加速度快多,数量越多越明显!

但是:互为子节点、重复添加的情形需要开发者来确保避免。

Parameters

NameType
childsany

Returns

void

Overrides

Node.addChilds


addClass

addClass(styleName): void

增加一个样式

js
obj.addClass('.focus');

Parameters

NameType
styleNamestring

Returns

void

Inherited from

Node.addClass


addEventListener

addEventListener(type, callback): void

增加事件监听

Parameters

NameTypeDescription
typestring事件类型
callbackFunction

Returns

void

Inherited from

Node.addEventListener


alignOriginToLink(position, segIndex?, t?, originOffset?): void

设置附着在Link上的位置,只有父节点是Link时有效

例如:

js
// 将节点的 center 位置 始终对齐父对象(Link的时候)上 第1条线段的中心(0.5), 线段当前方向偏移2像素的距离
node.alignOriginToLink('center', 0, 0.5, 2);

Parameters

NameTypeDescription
positionRectPosition自身位置
segIndex?numberLink上线段索引
t?numberLink上的位置(百分比)
originOffset?number偏移量(沿着线段当前方向)

Returns

void

Inherited from

Node.alignOriginToLink


alignOriginToNode

alignOriginToNode(position, parentPosition?): void

将某一个位置对齐到父对象(父对象为Node的时候) 的某个位置上

Parameters

NameTypeDefault valueDescription
positionRectPositionundefined
parentPositionRectPosition'center'默认为'center'

Returns

void

Inherited from

Node.alignOriginToNode


centerBy

centerBy(obj?): void

将指定对象的中心放到画布中央

Deprecated

v2.5.0 已过时

Parameters

NameType
obj?DisplayObject | DisplayObject[]

Returns

void


changeParent

changeParent(newParent): Layer

修改父对象但保持屏幕坐标不变

Parameters

NameType
newParentDisplayObject

Returns

Layer

Inherited from

Node.changeParent


clearCss

clearCss(): void

清除通过css或setStyles定义的所有样式

Returns

void

Inherited from

Node.clearCss


css

css(styleOption, value?): Layer

背景和边框的设置语法参考css样式, 图形绘制的语法使用cavnas属性设置,如下:

js
node.css({
   border: 'solid 1px gray',
   borderRadius: 5,
   font: 'bold 11px arial',
   color: 'gray',
   textPosition: 'center',
   textAlign: 'center',
   textBaseline: 'middle',
});

Parameters

NameType
styleOptionstring | StyleOptions
value?any

Returns

Layer

Inherited from

Node.css


destory

destory(): void

销毁

Returns

void

Overrides

Node.destory


dispatchEvent

dispatchEvent(event): void

分发事件

Parameters

NameType
eventany

Returns

void

Inherited from

Node.dispatchEvent


draw

draw(ctx): void

Parameters

NameType
ctxany

Returns

void

Overrides

Node.draw


drawShape

drawShape(ctx): void

Parameters

NameType
ctxany

Returns

void

Inherited from

Node.drawShape


endLoopRender

endLoopRender(): void

停止渲染循环

Since

2.4.0

Returns

void


find

find(name, value, recursive?): DisplayObject[]

已过时,请使用:querySelectorAll()替代 根据属性来查找Layer中的对象

例如:layer.find('text', 'node_3'); 会返回对象的text属性是 'node_3'的所有对象

.

例如:layer.find('isNode', true); 会返回所有Node对象

.

例如:layer.find('isLink', true); 会返回所有Link对象

.

Deprecate

Parameters

NameTypeDefault valueDescription
namestringundefined属性名称
valueanyundefined属性值
recursivebooleanfalse是否递归查找下级子节点

Returns

DisplayObject[]


forceUpdate

forceUpdate(): void

Returns

void


getAABB

getAABB(): Rectangle

获取对象在Layer中的aabb包围盒

Returns

Rectangle

Overrides

Node.getAABB


getAllLinks(): DisplayObject[]

递归式 获取所有连线对象

Returns

DisplayObject[]

所有连线对象

Inherited from

Node.getAllLinks


getAllNodes

getAllNodes(): DisplayObject[]

递归式 获取所有节点对象

Returns

DisplayObject[]

所有节点对象

Inherited from

Node.getAllNodes


getChildren

getChildren(): DisplayObject[]

获取所有子对象

Returns

DisplayObject[]

Inherited from

Node.getChildren


getComputedStyle

getComputedStyle(obj): Style

获取指定对象样式层叠计算后的样式(只读,不要修改返回的对象)

Parameters

NameType
objDisplayObject

Returns

Style

Inherited from

Node.getComputedStyle


getExportAABB

getExportAABB(): Rectangle

Returns

Rectangle


getImage

getImage(callback?): Promise<HTMLImageElement>

获取图片,注意图片的加载是异步

图片如果不存在或者加载失败image为null

js
node.getImage().then(function(image){
if(image == null){
   return;
}
console.log(image);
})

Parameters

NameType
callback?Function

Returns

Promise<HTMLImageElement>

Inherited from

Node.getImage


getLinkChildren

getLinkChildren(recursive): any[]

Parameters

NameType
recursiveany

Returns

any[]

Inherited from

Node.getLinkChildren


getLinks(): Link[]

获取所有连接到本对象的Link

Returns

Link[]

Inherited from

Node.getLinks


getLocalPoint

getLocalPoint(t, segIndex?): PointLike

获取对象边框或者线上某一点(本地坐标系)

Parameters

NameType
tnumber
segIndex?number

Returns

PointLike

Inherited from

Node.getLocalPoint


getPoint

getPoint(t, segIndex?): PointLike

获取对象上某一点

Parameters

NameTypeDescription
tnumber[0-1] 在线段上的比例
segIndex?number线段索引(Node是矩形,有4条线段,索引:[0-3])可选项

Returns

PointLike

Inherited from

Node.getPoint


getPoints

getPoints(): { x: number = 0; y: number = 0 }[]

Returns

{ x: number = 0; y: number = 0 }[]


getPositionNames

getPositionNames(): string[]

获取本对象上定义的所有位置名称

Returns

string[]

Inherited from

Node.getPositionNames


getPositionNormal

getPositionNormal(name): number[]

Parameters

NameType
namestring

Returns

number[]

Inherited from

Node.getPositionNormal


getRect

getRect(): Rectangle

Returns

Rectangle

Inherited from

Node.getRect


getRoot

getRoot(): Layer

获取'root'对象, 沿着parent一直向上追溯

Returns

Layer

Inherited from

Node.getRoot


getSegmentPoints

getSegmentPoints(): PointLike[]

Returns

PointLike[]

Inherited from

Node.getSegmentPoints


getStageTransform

getStageTransform(): any

Returns

any

Inherited from

Node.getStageTransform


getStyle

getStyle(name): any

读取某个样式的值

Parameters

NameType
namestring

Returns

any

Inherited from

Node.getStyle


getTransform

getTransform(): Transform

Returns

Transform

Inherited from

Node.getTransform


getUserData

getUserData(): any

读取用户自定义的数据

Returns

any

Inherited from

Node.getUserData


getWorldTransform

getWorldTransform(): any

Returns

any

Inherited from

Node.getWorldTransform


hasChild

hasChild(child): boolean

是否拥有子对象

Parameters

NameType
childDisplayObject

Returns

boolean

Inherited from

Node.hasChild


hasChildren

hasChildren(): boolean

Returns

boolean

Inherited from

Node.hasChildren


hasClass

hasClass(styleName): boolean

检测是否拥有某个样式类

js
node.hasClass('.focus');

Since

2.4.0

Parameters

NameType
styleNamestring

Returns

boolean

Inherited from

Node.hasClass


hasListener

hasListener(type): boolean

是否有该类型的监听

Parameters

NameType
typestring

Returns

boolean

Inherited from

Node.hasListener


hide

hide(): Layer

隐藏

Returns

Layer

Overrides

Node.hide


hideAllChild

hideAllChild(): void

隐藏所有下级节点

Returns

void

Inherited from

Node.hideAllChild


hideAxis

hideAxis(): void

隐藏坐标轴

Returns

void


isConnected

isConnected(): boolean

是否被任意Link连接到

Since

2.4.0

Returns

boolean

Inherited from

Node.isConnected


isOutOfParent

isOutOfParent(): boolean

是否超出了父节点的矩形区域

Returns

boolean

Inherited from

Node.isOutOfParent


isVisible

isVisible(): boolean

判断是否可见

Returns

boolean

Inherited from

Node.isVisible


loopRender

loopRender(frames?): void

开启渲染循环, 定时刷新画面(最高60帧)

如果不开启渲染循环, 有鼠标动作 和 动画时才会重绘画面

Parameters

NameTypeDefault value
framesnumber60

Returns

void


nearest

nearest(x, y): any

Parameters

NameType
xnumber
ynumber

Returns

any

Inherited from

Node.nearest


on

on(type, callback): void

增加监听事件, 功能完全等同于addEventListener,一种简写

Parameters

NameTypeDescription
typestring事件类型
callbackFunction事件处理函数

Returns

void

Inherited from

Node.on


openJson

openJson(jsonOrString): Promise<SerializedJson>

清空当前画布并加载json内容

js
// 情形1
layer.openJson(json).then(()=>{
console.log('已经打开,并且所有资源加载完成');
});

// 情形2, 同上,使用js的新语法 await
await layer.openJson(json);
console.log('已经打开,并且所有资源加载完成');
//... 继续其他操作

Parameters

NameType
jsonOrStringstring | SerializedJson

Returns

Promise<SerializedJson>

Promise


openJsonAndWait

openJsonAndWait(jsonOrString): Promise<SerializedJson>

功能与openJson完全一致

Deprecated

请使用 openJson

Parameters

NameType
jsonOrStringstring | SerializedJson

Returns

Promise<SerializedJson>

Promise


pickUpChild

pickUpChild(): DisplayObject

Returns

DisplayObject


pickable

pickable(): boolean

是否可被拾取到,默认返回:mouseEnabled 属性

js
pickable() {
   return this.mouseEnabled;
}

Returns

boolean

Inherited from

Node.pickable


positionToLocalPoint

positionToLocalPoint(name, x?, y?): PointLike

得到对象内部位置坐标(参照左上角为0,0)

Parameters

NameTypeDescription
namestring位置名称
x?numbername为nearest时需要
y?numbername为nearest时需要

Returns

PointLike

Inherited from

Node.positionToLocalPoint


querySelector

querySelector(querySelector): DisplayObject

功能类似querySelectorAll,但只返回第一个满足条件的对象或者null

Parameters

NameType
querySelectorstring | Function

Returns

DisplayObject

Inherited from

Node.querySelector


querySelectorAll

querySelectorAll(querySelector?): DisplayObject[]

对象选择器

语法兼容DOM的Selector API标准(并不支持标准里的所有语法)

支持的语法形式如下:

js

//obj.querySelector(类名称), 例如:
let circleNodes = layer.querySelectorAll('CircleNode');
let links = layer.querySelector('Link');

//obj.querySelector(样式名称),例如:
let serverNodes = layer.querySelectorAll('.server');
let activedObjs = layer.querySelectorAll('.active');

let arr = layer.querySelectorAll((e)=>e.x > 20 && e.y < 100);

//obj.querySelector(ID);
let obj = layer.querySelectorAll('#123')[0];

//obj.querySelector([属性名称=""]); 
let arr = layer.querySelectorAll('[text="abc"]');
let arr2 = layer.querySelectorAll('[draggable=true]');

// obj.querySelector(类名称|样式名称[属性名称=""]); 
let obj = layer.querySelector('TextNode[x<=-200]');
let obj2 = layer.querySelector('.server[text="X86"]');

Parameters

NameType
querySelector?string | Function

Returns

DisplayObject[]

Inherited from

Node.querySelectorAll


remove

remove(): Layer

removeFromParent的简写。

推荐使用语义更明确的:removeFromParent()来替代。

Returns

Layer

Inherited from

Node.remove


removeAllChild

removeAllChild(): Layer

移除所有子对象

Returns

Layer

Inherited from

Node.removeAllChild


removeAllClass

removeAllClass(): void

移除所有通过addClass添加的样式

js
obj.removeAllClass();

Returns

void

Inherited from

Node.removeAllClass


removeChild

removeChild(child): Layer

移除一个子对象

Parameters

NameType
childDisplayObject

Returns

Layer

Inherited from

Node.removeChild


removeChilds

removeChilds(childs): Layer

移除多个子对象

Parameters

NameType
childsDisplayObject[]

Returns

Layer

Inherited from

Node.removeChilds


removeClass

removeClass(styleName): void

移除一个样式

js
obj.removeClass('.focus');

Parameters

NameType
styleNamestring

Returns

void

Inherited from

Node.removeClass


removeEventListener

removeEventListener(type, callback): any

移除一个事件监听

Parameters

NameType
typestring
callbackFunction

Returns

any

Inherited from

Node.removeEventListener


removeFromParent

removeFromParent(): Layer

从父容器中移除

Returns

Layer

Inherited from

Node.removeFromParent


removeUserData

removeUserData(): Layer

移除用户自定义的数据

Deprecated

已过时,直接设置 data 为空对象或者null 即可

Returns

Layer

Inherited from

Node.removeUserData


resize

resize(width, height): Layer

设置尺寸

Parameters

NameTypeDescription
widthnumber宽度
heightnumber高度

Returns

Layer

Inherited from

Node.resize


resizeTo

resizeTo(width, height): Layer

Parameters

NameType
widthnumber
heightnumber

Returns

Layer

Inherited from

Node.resizeTo


resizeToFitImage

resizeToFitImage(): void

调整尺寸到图片的实际大小

Returns

void

Inherited from

Node.resizeToFitImage


resizeWith

resizeWith(w, h): Layer

原有尺寸基础上增加

Parameters

NameType
wnumber
hnumber

Returns

Layer

Inherited from

Node.resizeWith


rotate

rotate(angle): Layer

旋转

Parameters

NameTypeDescription
anglenumber旋转角度(弧度)

Returns

Layer

Inherited from

Node.rotate


rotateTo

rotateTo(angle): Layer

旋转

Parameters

NameTypeDescription
anglenumber旋转角度(弧度)

Returns

Layer

Inherited from

Node.rotateTo


rotateWith

rotateWith(angle): Layer

旋转-增量性

Parameters

NameTypeDescription
anglenumber旋转角度(弧度)

Returns

Layer

Inherited from

Node.rotateWith


scale

scale(x, y): Layer

缩放

Parameters

NameType
xnumber
ynumber

Returns

Layer

Inherited from

Node.scale


scaleBy

scaleBy(x, y): Layer

Parameters

NameType
xany
yany

Returns

Layer

Inherited from

Node.scaleBy


scaleTo

scaleTo(x, y): Layer

Parameters

NameType
xnumber
ynumber

Returns

Layer

Inherited from

Node.scaleTo


screenToLocalVec

screenToLocalVec(vec): Vec2

将一个屏幕坐标系下的向量转换到本地坐标系 @@since 2.5.0

Parameters

NameType
vecVec2

Returns

Vec2

Inherited from

Node.screenToLocalVec


screenToLocalXY

screenToLocalXY(x, y): any

将一个屏幕坐标转换到本地坐标系

Parameters

NameType
xnumber
ynumber

Returns

any

Inherited from

Node.screenToLocalXY


setBackground

setBackground(background, backgroundSize): void

该方法已过时,未来版本不再支持, 请使用css方法

Deprecated

Parameters

NameType
backgroundany
backgroundSizeany

Returns

void


setImage

setImage(imgObj, fitSize?): Layer

设置图片

Parameters

NameTypeDefault valueDescription
imgObjstring | HTMLImageElement | HTMLCanvasElementundefined图片对象(Image)、图片路径、或者Canvas
fitSizebooleanfalse-

Returns

Layer

Inherited from

Node.setImage


setOrigin

setOrigin(lineSegmentIndex, t): Layer

设置坐标原点

已过时,未来可能删除,请使用 setXYOnLink(lineSegmentIndex, t) 替代 只有Node节点才有setXYOnLink() 方法

Deprecated

已过时,

Parameters

NameType
lineSegmentIndexnumber
tnumber

Returns

Layer

Inherited from

Node.setOrigin


setOriginToPosition

setOriginToPosition(name): Layer

将坐标原点设置到父的某个位置上

Parameters

NameType
namestring

Returns

Layer

Inherited from

Node.setOriginToPosition


setRotateCenter

setRotateCenter(position): Layer

Parameters

NameType
positionRectPosition

Returns

Layer

Inherited from

Node.setRotateCenter


setShape

setShape(shape): void

设置节点的形状

Parameters

NameType
shapeShape

Returns

void

Inherited from

Node.setShape


setStyles

setStyles(styleOpt, value?): Layer

完全等价于css 方法

Parameters

NameType
styleOptStyleOptions
value?any

Returns

Layer

Inherited from

Node.setStyles


setText

setText(v): void

Parameters

NameType
vstring

Returns

void

Inherited from

Node.setText


setUserData

setUserData(data): Layer

设置用户自定义数据

直接在节点对象上增加属性不是稳妥的方法,若要向节点增加额外的属性,应该调用此方法

Deprecated

已过时,直接访问 data 即可

Parameters

NameType
dataany

Returns

Layer

Inherited from

Node.setUserData


setXY

setXY(x, y): Layer

设置坐标, translate的简写

Parameters

NameType
xnumber
ynumber

Returns

Layer

Inherited from

Node.setXY


setXYOnLink(lineSegmentIndex, t): Layer

将节点定位到连线的某个位置上,该位置随连线变化而变,

Since

2.4.0

Parameters

NameType
lineSegmentIndexnumber
tnumber

Returns

Layer

Inherited from

Node.setXYOnLink


setzIndex

setzIndex(index): void

请使用 setZIndex(Z大写)

Deprecated

Parameters

NameType
indexnumber

Returns

void

Inherited from

Node.setzIndex


show

show(): Layer

显示

Returns

Layer

Overrides

Node.show


showAllChild

showAllChild(): void

显示所有下级节点

Returns

void

Inherited from

Node.showAllChild


showAxis

showAxis(): void

显示坐标轴

Returns

void


skew

skew(skewX, skewY): Layer

错切

Parameters

NameType
skewXnumber
skewYnumber

Returns

Layer

Inherited from

Node.skew


stageToLocalVec

stageToLocalVec(vec): Vec2

Deprecated

v2.5.0 后使用 screenToLocalVec 替代

Parameters

NameType
vecVec2

Returns

Vec2

Inherited from

Node.stageToLocalVec


stageToLocalXY

stageToLocalXY(x, y): any

Deprecated

v2.5.0 后使用 screenToLocalXY 替代

Parameters

NameType
xnumber
ynumber

Returns

any

Inherited from

Node.stageToLocalXY


toFileJson

toFileJson(opt?): string

生成json, 含自定义样式

js
// 可以附带参数, 参数都是可选
toFileJson({
  info: {author:"张三", date:"2024-02", "desc":"XXX车间装配图", ....},
  script: `function(stage, layer){....}`,
  imageToBase64: true //是否将图片以base64的形式内联到json
});

Parameters

NameType
opt?boolean | ToJsonOption

Returns

string


toJSON

toJSON(indexInfo?): SerializedDisplayObject

Parameters

NameType
indexInfo?any

Returns

SerializedDisplayObject

Inherited from

Node.toJSON


toLayerRect

toLayerRect(rect): Rectangle

Parameters

NameType
rectRectangle

Returns

Rectangle


toLayerXY

toLayerXY(x, y): PointLike

Deprecated

v2.5.0 后使用 toWorldXY 替代

Parameters

NameType
xnumber
ynumber

Returns

PointLike

Inherited from

Node.toLayerXY


toScreenXY

toScreenXY(x, y): any

将一个本地坐标转到屏幕(实际是canvas)坐标系

cavnas的左上角为0,0

Since

2.5.0

Parameters

NameType
xnumber
ynumber

Returns

any

Inherited from

Node.toScreenXY


toStageRect

toStageRect(aabbInLayer): Rectangle

Parameters

NameType
aabbInLayerRectangle

Returns

Rectangle


toStageXY

toStageXY(x, y): any

Deprecated

v2.5.0 后使用 toSreenXY 替代

Parameters

NameType
xnumber
ynumber

Returns

any

Inherited from

Node.toStageXY


toWorldXY

toWorldXY(x, y): PointLike

将一个本地坐标转到世界坐标系

Since

2.5.0

Parameters

NameType
xnumber
ynumber

Returns

PointLike

Inherited from

Node.toWorldXY


transformPoint

transformPoint(p): Object

Parameters

NameType
pPointLike

Returns

Object

NameType
xnumber
ynumber

Inherited from

Node.transformPoint


translate

translate(x, y): Layer

平移对象,与setXY()完全等价

只是从图形的语义上平移更接近本质:有相对性的意识

Parameters

NameType
xnumber
ynumber

Returns

Layer

Inherited from

Node.translate


translatePositionTo

translatePositionTo(positionName, x, y): void

平移对象上的的某个位置到指定位置(x,y),整个对象随之移动

js
// 平移节点的右上角到 100,100 处
node.translatePositionTo('rt', 100, 100);

Parameters

NameType
positionNamestring
xnumber
ynumber

Returns

void

Inherited from

Node.translatePositionTo


translateTo

translateTo(x, y): Layer

Parameters

NameType
xnumber
ynumber

Returns

Layer

Inherited from

Node.translateTo


translateWith

translateWith(x, y): Layer

增量平移对象, 在对象原有的坐标基础上,增加偏移(dx,dy)。相当于: x += dx; y += dy。

Parameters

NameType
xnumber
ynumber

Returns

Layer

Overrides

Node.translateWith


update

update(): boolean

请求刷新

Returns

boolean


updateZIndex

updateZIndex(): void

Returns

void

Inherited from

Node.updateZIndex


updatezIndex

updatezIndex(): void

请使用 upateZIndex(Z大写)

Deprecated

Returns

void

Inherited from

Node.updatezIndex


zoomIn

zoomIn(): Layer

放大到1.25

Returns

Layer

Inherited from

Node.zoomIn


zoomOut

zoomOut(): Layer

缩小到0.8

Returns

Layer

Inherited from

Node.zoomOut


flatten

Static flatten(arr, cond?, breadthFirst?): DisplayObject[]

Parameters

NameType
arrDisplayObject[]
cond?Function
breadthFirst?boolean

Returns

DisplayObject[]

Inherited from

Node.flatten


getNoChildrensObjects

Static getNoChildrensObjects(arr): DisplayObject[]

Parameters

NameType
arrDisplayObject[]

Returns

DisplayObject[]

Inherited from

Node.getNoChildrensObjects