fabric.js 中originX originY center设置问题

在最开始一直对fabric中的originX和originY很迷,设置center属性是怎么的一个中心对齐方式,为什么一个组里, 有一个设置了center,其他的都会连带呢?

于是自己就进行代表探索

javascript 复制代码
 // 左侧组:只有蓝色圆设置center origin
var circle_left = new this.$fabric.Circle({
  radius: 80,
  fill: 'pink',
});
var circle1_left = new this.$fabric.Circle({
  radius: 60,
  fill: 'blue',
  originX: 'center',  // 只有这个设置了center
  originY: 'center',
});
var text_left = new this.$fabric.Text('蓝圆center', {
  fontSize: 16,
});

var group_left = new this.$fabric.Group([circle_left, circle1_left, text_left], {
  left: 150,
  top: 150,
});
this.canvas.add(group_left);

在组当中是这样的效果

最形象的解释是:
1. 默认对象(左上角对齐):

  • 就像把一本书的左上角贴在桌子的左上角
  • 书的其他部分自然延伸到右边和下面

2. 设置了center的对象(中心点对齐):

  • 就像把一本书的中心点贴在桌子的左上角
  • 书的左上角就会跑到桌子的外面(左上方向)


    个人认为,第一个元素设置了center,其余元素都会以这个center元素为准,之后的元素设置center都会把圆心向最先的center元素中心对齐。
相关推荐
老王以为2 分钟前
Claude Code 从 GUI 到 TUI:开发者界面的范式回归
前端·人工智能·全栈
JYeontu3 分钟前
正方体翻滚Loading 2.0
前端·javascript·css
llq_3504 分钟前
React 组件处理 Props
前端
夫子3965 分钟前
多人协同后内容丢失?一文搞懂ONLYOFFICE document.key的正确用法
前端
张元清15 分钟前
React 与用户偏好:尊重用户已经在 OS 里设过的那些选项
前端·javascript·面试
RPGMZ16 分钟前
RPGMZ 游戏场景全局提示框 带三秒隐藏插件
前端·javascript·游戏·rpgmz
JarvanMo25 分钟前
2026年最佳Flutter图标包
前端
Arthur147261228654726 分钟前
Vue Query 缓存机制实战:别再让 gcTime 和 staleTime 背锅了
前端
Rkgua28 分钟前
React中的赋值操作为什么不是=?
前端·javascript
heyCHEEMS29 分钟前
记录一个 React 表单的小坑:缓存节流导致页面刷新
前端·javascript