Stage
new Konva.Stage(config)
Stage 构造函数。Stage 用于包含多个图层
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | Object | |
| container | String|Element | 容器选择器或 DOM 元素 |
| x (可选) | Number | |
| y (可选) | Number | |
| width (可选) | Number | |
| height (可选) | Number | |
| visible (可选) | Boolean | |
| listening (可选) | Boolean | 节点是否监听事件 |
| id (可选) | String | 唯一 id |
| name (可选) | String | 非唯一名称 |
| opacity (可选) | Number | 确定节点的不透明度。可以是 0 到 1 之间的任意数字 |
| scale (可选) | Object | 设置缩放 |
| scaleX (可选) | Number | 设置 x 缩放 |
| scaleY (可选) | Number | 设置 y 缩放 |
| rotation (可选) | Number | 旋转角度 |
| offset (可选) | Object | 相对于中心点和旋转点的偏移 |
| offsetX (可选) | Number | 设置 x 偏移 |
| offsetY (可选) | Number | 设置 y 偏移 |
| draggable (可选) | Boolean | 使节点可拖动。当 Stage 可拖动时,你可以通过拖动 Stage 的任意部分来拖放整个 Stage |
| dragDistance (可选) | Number | |
| dragBoundFunc (可选) | function |
继承自: Konva.Container
自有方法
setContainer(container)
设置包含 Stage 包装器 div 元素的容器 DOM 元素
参数:
container(DomElement):可以传入 DOM 元素或 id 字符串
clear()
清除所有图层
getPointerPosition()
返回绝对指针位置,该位置可以是触摸位置或鼠标位置。指针位置不包含 Stage 的任何变换(例如缩放),它只是相对于画布左上角的普通指针位置
返回: Vector2d|null
getIntersection(pos)
获取可见的相交图形。这是确定某个点是否与图形相交的首选方法。将 listening 设置为 false 的节点不会被检测到
参数:
pos(Object)pos.x(Number)pos.y(Number)
返回: Konva.Node
示例:
var shape = stage.getIntersection({x: 50, y: 50});
getLayers()
返回图层数组
setPointersPositions(event)
手动在 Stage 中注册指针位置(鼠标/触摸)。这样你就可以使用 stage.getPointerPosition()。通常不需要使用此方法,因为所有内部事件都会自动注册。如果事件在 Stage 外部触发,但你仍想使用 Konva 方法获取指针位置,此方法可能会很有用
参数:
event(Object):事件对象
示例:
window.addEventListener('mousemove', (e) => {
stage.setPointersPositions(e);
});
batchDraw()
批量绘制
返回: Konva.Stage this
container()
获取/设置 容器 DOM 元素
返回: DomElement container
示例:
// 获取容器
var container = stage.container();
// 设置容器
var container = document.createElement('div');
body.appendChild(container);
stage.container(container);
继承的方法
Konva.Stage 还具有其父类的所有方法。下面的每个链接都会打开定义该方法的类中的完整方法文档。
来自 Konva.Container
- getChildren(filterFunc)
- hasChildren()
- removeChildren()
- destroyChildren()
- add(children)
- find(selector)
- findOne(selector)
- isAncestorOf(node)
- getAllIntersections(pos)
- clip(clip)
- clipX(x)
- clipY(y)
- clipWidth(width)
- clipHeight(height)
- clipFunc(function)
来自 Konva.Node
- clearCache()
- cache(config)
- isCached()
- getClientRect(config)
- off(evtStr)
- remove()
- destroy()
- getAttr(attr)
- getAncestors()
- getAttrs()
- setAttrs(config)
- isListening()
- isVisible()
- show()
- hide()
- getAbsoluteZIndex()
- getDepth()
- getRelativePointerPosition()
- getAbsolutePosition(Ancestor)
- move(change)
- rotate(theta)
- moveToTop()
- moveUp()
- moveDown()
- moveToBottom()
- getAbsoluteOpacity()
- moveTo(newContainer)
- toObject()
- toJSON()
- getParent()
- findAncestors(selector, includeSelf, stopNode)
- findAncestor(selector, includeSelf, stopNode)
- getLayer()
- getStage()
- fire(eventType, evt, bubble)
- getAbsoluteTransform()
- getAbsoluteScale()
- getAbsoluteRotation()
- getTransform()
- clone(obj)
- toCanvas(config)
- toDataURL(config)
- toImage(config)
- toBlob(config)
- getClassName()
- getType()
- addName(name)
- hasName(name)
- removeName(name)
- setAttr(attr, val)
- draw()
- startDrag()
- stopDrag()
- isDragging()
- isClientRectOnScreen(margin)
- zIndex(index)
- absolutePosition(pos)
- position(pos)
- x(x)
- y(y)
- globalCompositeOperation(type)
- opacity(opacity)
- name(name)
- id(id)
- rotation(rotation)
- scale(scale)
- scaleX(x)
- scaleY(y)
- skew(skew)
- skewX(x)
- skewY(y)
- offsetX(x)
- offsetY(y)
- dragDistance(distance)
- width(width)
- height(height)
- listening(listening)
- preventDefault(preventDefault)
- filters(filters)
- visible(visible)
- transformsEnabled(enabled)
- size(size)
- dragBoundFunc(dragBoundFunc)
- draggable(draggable)
- to(params)
- blurRadius(radius)
- brightness(brightness)
- contrast(contrast)
- embossStrength(level)
- embossWhiteLevel(embossWhiteLevel)
- embossDirection(embossDirection)
- embossBlend(embossBlend)
- enhance(amount)
- hue(hue)
- saturation(saturation)
- luminance(value)
- value(value)
- kaleidoscopePower(power)
- kaleidoscopeAngle(degrees)
- noise(noise)
- pixelSize(pixelSize)
- levels(level)
- red(red)
- green(green)
- blue(blue)
- alpha(alpha)
- threshold(threshold)