You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Konva JS中修改或更新已创建形状的宽度与高度属性

Konva 形状宽高动态更新方案

Konva 中所有形状的属性修改都遵循「修改属性→触发图层重绘」的逻辑,你可以选下面任意一种方式实现update_shape函数:

方案1:直接修改单个属性

var update_shape = (newWidth, newHeight) => {
  // 给bg实例的width、height属性赋新值
  bg.width(newWidth);
  bg.height(newHeight);
  // 调用图层的draw方法让修改生效
  layer.draw();
}

方案2:批量设置属性

如果要同时修改多个属性,也可以用set方法批量操作,代码更简洁:

var update_shape = (newWidth, newHeight) => {
  bg.set({
    width: newWidth,
    height: newHeight
    // 此处可新增其他要修改的属性,比如fill、x、y等
  });
  layer.draw();
}

如果你需要同时更新Stage的宽高匹配形状尺寸,除了修改Rect的宽高,还需要同步给Stage设置新宽高后再执行重绘:

stage.width(newWidth);
stage.height(newHeight);

内容的提问来源于stack exchange,提问作者Balaji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:27:02