自定义 Excalidraw 脚本 -Frame 框架自适应大小

自定义 Excalidraw 脚本 -Frame 框架自适应大小

Frame 框架自适应大小

自定义 Excalidraw 脚本 -Frame 框架自适应大小--Frame 框架自适应大小

功能:功能是将“frame”的大小和位置自适应到其中包含的元素。

源码

await ea.addElementsToView();
const els = ea.getViewElements();
const frameEls = els.filter(el => el.type === "frame");

for (let frameEl of frameEls) {
  let minX = Infinity;
  let maxY = -Infinity;
  let maxX = -Infinity;
  let minY = Infinity;

  for (let i of els) {
    if (i.frameId === frameEl.id) {
      if (i.x < minX) minX = i.x;
      if (i.x + i.width > maxX) maxX = i.x + i.width;
      if (i.y < minY) minY = i.y;
      if (i.y + i.height > maxY) maxY = i.y + i.height;
    }
  }

  // 更新frame的大小和位置
  frameEl.x = minX - 20;
  frameEl.y = minY - 20;
  frameEl.width = maxX - minX + 40;
  frameEl.height = maxY - minY + 40;
  await ea.addElementsToView(false, false);
}

new Notice("Frame已自适应!");

讨论

若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。



反馈交流

其他渠道

版权声明