核心功能:支持元素拖拽、缩放、旋转、吸附对齐、撤销恢复、小地图导航等功能;纯原生js开发,早期AI还不成熟,只用来搜索算法和思路提示;
技术实现:画布系统:实现画布拖拽、缩放、网格背景、坐标系转换工具、小地图导览、阻尼滚动。
元素系统:实现多种元素类如图片、文本、矩形、点、线段等,元素支持拖拽、控制点缩放、旋转、镜像、形变、层级调整、样式设置、包围盒计算、单独导出为png,事件订阅和冒泡基于Event对象封装。
交互系统:拖拽时的辅助线吸附、点对点/点对线吸附、键盘快捷键封装。
连线系统:实现元素间的连线,支持直线、折线、曲线、贝塞尔插值。
分组与布局:实现Group 组、框选的多选、组内元素同时移动缩放、对齐、 Flex 布局。
高级能力:实现撤销与重做,实现文本在canvas中编辑、光标的移动、字体自动换行与缩放。实现动画类、实现自由画笔。
工具与 API:封装2D 数学工具、元素的增删改查、字体加载、自适应视图。
点击空白处退出提示









评论