KonvaJs思维导图

376 阅读1分钟

KonvaJs思维导图

KonvaJs.png

konvasJS坐标基本使用

group的初始坐标全是0,因为group的坐标是相对于stage计算的;

group的width、height获取不到尺寸信息;

group可以通过getClientRect获取尺寸信息;

移动group

  • group在这里的position,absolutePosition值是相同的;

  • 初始group的position,absolutePosition都是{0,0};

  • 当移动分组时,分组的坐标是相对于起点在发生变化;

可以理解为:

  • 添加的新group,它的坐标起点都在左上角{0,0}处;

  • 移动group时,它的position,absolutePosition都是相对于上一层画布来计算的;这里的画面基础坐标是不会变的,所以两个属性值保持相等;

  • 子元素相对于group放置,它的{x,y}属性值一直相对于group起点来计算;

  • 子元素的absolutePosition是相对画布的真实坐标。

父元素 scale 变化

总结:

父层group的scale变化,不会影响子元素 position 的值;

父层group的scale变化,会影响子元素absolutePosition的值;

父层group的scale变化,不会影响子元素scale的值;

父层group的scale变化,不会影响子元素尺寸值;

父层group的scale变化,会影响父元素getClientRect尺寸值;

父层group的scale变化,会影响子元素absoluteScale值。

子元素scale变化

总结:

  • 子元素 scale 的变化 ,不会影响自身尺寸;

 旋转

  • 旋转时,width,height不会发生变化 ;
  • 父元素旋转时,子元素的{x,y}不会变化 , absolutePosition会发生变化 ;
  • 旋转是以左上角为中心;
  • 旋转后position和absolutePosition都不会发生变化