在 konva.js 中缩放舞台时不影响元素位置

Don't effect element position while scaling stage in konva.js

我正在使用惊人的 konva.js 在线创建页面创建软件,所以问题是当我缩放舞台时,整个元素都在改变那里的位置。在缩放整个阶段之前

缩放舞台后,行文本不在中心。

后面的背景只是矩形,具有与舞台相同的宽度高度和背景图像。
这是我的缩放代码。

function scaleboth(_x,_y){
stageBackgroundRect.scale({x:_x,y:_y});
stage.scale({x:_x,y:_y});

layer.batchDraw();
}

如果你想在这里看到演示, https://mypagemaker.s3.amazonaws.com/index.html 谢谢,我保证我会给正确答案的赏金。


因为我必须抵消它,我已经这样做了但没有改变
function minusStage(){
    stage.offsetX(stage.width() / 2);
    stage.offsetY(stage.height() / 2);

    scaleboth(stage.scaleX() - 0.01,stage.scaleY() - 0.01);
}

您的背景矩形位于舞台内。因此缩放舞台将影响其所有 children 的绝对缩放,包括背景矩形。

您只需在 parents 之一(可以是舞台)上应用一次缩放。