基于 fabric.js 实现一个简单的标签编辑器

分类:JavaScript     发布时间:2023-09-04     最后更新:2024-02-20     浏览数:1443
之前面试一家公司,有一道面试题:基于 fabric.js 实现一个标签编辑器。

为了面试,搜索了一些关于 fabric.js 的资料,花了一天的时间,做了个原型,之后利用业余时间断断续续地完善了一些功能。 目前已基本可用,就想和大家分享一下成果。

概述

首先我们来看看它的全貌 标签编辑器

如果想体验 Live demo 可以访问直接 https://www.pcdeng.com/tag-editor/

界面主要分四部分。

  • 顶栏,是 fabric.js 画布的对象(下文统称为组件)通用属性设置栏。
  • 左侧是组件列表,点击之后会把组件添加到画布中;图标组件由于有分组,需要选中某个分组下的图标再点击,才会添加到画布中。
  • 中间灰色背景部分是画布,白色区域是可见区域,就是说,只有白色画板内的组件才会可见,打印时也只会打印白色区域。
  • 右侧是组件详细属性设置栏。当没有选中组件时,可以设置白色画板的大小。当有组件被选中时,展示的是选中组件特有的属性。

功能清单

  • 支持在线字体
  • 离线可用(PWA)
  • 支持文字
  • 支持矩形
  • 支持线条
  • 支持条码
  • 支持二维码
  • 支持图标
  • 支持图片
  • 支持表格
  • 支持组合
  • 支持拆分组合
  • 支持图层
  • 支持单位转换(工具)

技术栈

前端技术栈:Vue3、Naive UI、Vite、fabric.js

参考

上一篇: 实现一个简单的 Chrome extension 下一篇: 网页 JavaScript 如何编码 gb2312