我有一个简单的KonvaJS图像缩放/平移示例,现在我在单击鼠标时添加了锚点,但是问题是,当缩放缩放舞台时,锚点也会变大。我想防止舞台缩放时锚点缩放。
理想情况下,当舞台缩放时,我会寻找某种方法来监听并减小锚点的大小,以使锚点大小保持不变,而不会在整个比例上产生反应。
这是我已经做过的一个例子:
stage.on('click', (e) => {
const transform = layer.getAbsoluteTransform().copy();
transform.invert();
const pos = stage.getPointerPosition();
const anchorPos = transform.point(pos);
const anchor = new Konva.Circle({
x: anchorPos.x,
y: anchorPos.y,
radius: 20,
stroke: '#666',
fill: '#ddd',
strokeWidth: 2,
draggable: true
});
layer.add(anchor);
layer.draw();
});
答案 0 :(得分:1)
每次扩展舞台时,您只需要调整所有锚点的大小即可。您可以这样做:
stage.find('Circle').setAttrs({
scaleX: 1 / stage.scaleX(),
scaleY: 1 / stage.scaleY()
});