> 文章列表 > 大前端05-用vue轻量级第三方组件库快速创建个画板,可以支持画板、直线、圆形等输入,可以撤回,改变颜色

大前端05-用vue轻量级第三方组件库快速创建个画板,可以支持画板、直线、圆形等输入,可以撤回,改变颜色

大前端05-用vue轻量级第三方组件库快速创建个画板,可以支持画板、直线、圆形等输入,可以撤回,改变颜色

第三方组件介绍:

1. vue-whiteboard

vue-whiteboard 是一个基于Vue.js的轻量级画板组件库。

GitHub仓库: https://github.com/craynic/vue-whiteboard

优势:

  • 轻量级
  • 支持基本绘图功能,如画线、圆等
  • 支持橡皮擦功能
  • 支持清空画布

劣势:

  • 功能较少,可能不满足复杂场景需求
  • 文档和示例有限

集成代码示例:

# 安装依赖
npm install vue-whiteboard
<template><div><white-board ref="whiteBoard" :width="500" :height="500" /></div>
</template><script>
import { WhiteBoard } from 'vue-whiteboard';export default {components: {WhiteBoard},mounted() {this.$refs.whiteBoard.setBrush({color: 'red',size: 10});}
};
</script>

1. fabric.js + vue-fabric-wrapper

Fabric.js 是一个功能丰富的 JavaScript 库,用于在HTML5 <canvas> 元素上进行交互式对象模型操作。vue-fabric-wrapper 是一个将 Fabric.js 与 Vue.js 结合使用的组件。

Fabric.js 官网: http://fabricjs.com/ vue-fabric-wrapper GitHub: https://github.com/vue-comps/vue-fabric-wrapper

优势:

  • 功能丰富,包括绘制形状、图片、文本等
  • 支持事件处理、选择、拖放和修改对象
  • 可以撤销和重做操作
  • 可以更改颜色、边框等属性

劣势:

  • 相对于其他轻量级库,体积稍大
  • 需要熟悉 Fabric.js 的API

集成代码示例:

# 安装依赖
npm install fabric vue-fabric-wrapper
<template><div><fabric-canvas ref="canvas" :width="500" :height="500" /></div>
</template><script>
import { fabric } from 'fabric';
import { FabricCanvas } from 'vue-fabric-wrapper';export default {components: {FabricCanvas},mounted() {const canvas = this.$refs.canvas.getFabricObject();const circle = new fabric.Circle({radius: 30,fill: 'red',left: 50,top: 50});canvas.add(circle);}
};
</script>