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元素中心对齐。
相关推荐
yinuo21 小时前
前端跨页面通讯终极指南⑤:window.name 用法全解析
前端
小飞侠在吗21 小时前
vue computed 和 watch
前端·javascript·vue.js
yinuo21 小时前
前端跨页面通讯终极指南④:MessageChannel 用法全解析
前端
前端布鲁伊21 小时前
聊聊前端容易翻车的“环境管理”
前端·面试
毕设十刻1 天前
基于Vue的考勤管理系统8n7j8(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
coding随想1 天前
掌控选区的终极武器:getSelection API的深度解析与实战应用
java·前端·javascript
嵌入式小能手1 天前
飞凌嵌入式ElfBoard-文件I/O的深入学习之存储映射I/O
java·前端·学习
沐风。561 天前
Object方法
开发语言·前端·javascript
程序猿小蒜1 天前
基于springboot的医院资源管理系统开发与设计
java·前端·spring boot·后端·spring
仙人掌一号1 天前
梳理SPA项目Router原理和运行机制 [共2500字-阅读时长10min]
前端·javascript·react.js