Fabric.js入门

1. 新建页面并引入 Fabric.js
如果是原生项目,使用 <script> 标签引入即可:

<script src="https://unpkg.com/fabric@4.6.0/dist/fabric.min.js"></script>

本文使用了 Vite 构建的项目,所以可以使用 import 引入

import { fabric } from 'fabric'

2. 创建 canvas 容器

HTML 中创建 <canvas>,并设置容器的 id 和 宽高,width/height

<canvas width="400" height="400" id="c" style="border: 1px solid #ccc;"></canvas>

这里创建了一个 canvas 容器,id="c"
指定长宽都为 400px ,值得注意的是,这里不需要加 px 这个单位。
style="border: 1px solid #ccc;" 这句其实可以不加,这里只是为了在浏览器看到 canvas 元素到底在哪。

在这里插入图片描述

3. 使用 fabric 接管容器,并画一个矩形

在 JS 中实例化 fabric ,之后就可以使用 fabric 的 api 管理 canvas 了。

<script setup>
import { onMounted } from 'vue'
import { fabric } from 'fabric' // 引入 fabric

function init() {
  const canvas = new fabric.Canvas('c') // 这里传入的是canvas的id

  // 创建一个长方形
  const rect = new fabric.Rect({
    top: 30, // 距离容器顶部 30px
    left: 30, // 距离容器左侧 30px
    width: 100, // 宽 100px
    height: 60, // 高 60px
    fill: 'red' // 填充 红色
  })

  // 在canvas画布中加入矩形(rect)。add是“添加”的意思
  canvas.add(rect)
}

// 需要在页面容器加载完才能开始初始化(页面加载完才找到 canvas 元素)
// onMounted 是 Vue3 提供的一个页面生命周期函数:实例被挂载后调用。
// onMounted 官方文档说明:https://v3.cn.vuejs.org/guide/composition-api-lifecycle-hooks.html
onMounted(() => {
  init() // 执行初始化函数
})
</script>

在这里插入图片描述
就算我不写备注也可以看出 Fabric.js 的代码是极具语义化的,看单词就大概能猜出代码效果。

如果是用原生的 canvas 方法来写,没了解过的同学根本看不懂在写啥。

详情链接:
https://juejin.cn/post/7026941253845516324

Fabric.js是一个强大的JavaScript库,用于创建和操作SVG和Canvas元素。它提供了丰富的API,使得在浏览器中创建可交互的图形对象、布局和动画变得简单。Fabric.js支持复杂图形的创建、选择、变换、裁剪、保存以及与其他HTML元素的交互。 中文文档通常包含以下内容: 1. **入门指南**:介绍如何安装和在HTML中引入库,以及基本的元素创建和使用方法。 2. **对象模型**:详细的API列表,包括各种图形对象(如矩形、圆、文本等)、色板、变换工具、事件处理等。 3. **布局和管理**:如何组织和布局多个对象,以及如何控制它们的行为,比如响应鼠标操作。 4. **事件处理**:如何监听并响应用户的交互,如点击、拖拽、缩放等。 5. **动画和效果**:如何为对象添加平滑的过渡效果和动画。 6. **实例和示例**:提供实际应用中的代码示例,帮助理解和学习。 7. **兼容性和注意事项**:关于不同浏览器的支持情况和可能遇到的常见问题解决方案。 8. **社区资源**:开发者论坛、教程、博客文章和第三方插件的链接。 如果你需要查找特定功能的详细信息或遇到问题,可以通过搜索关键词如“如何添加事件处理器”、“如何创建可拖动的元素”等来找到相关文档部分。相关问题: 1. Fabric.js是否支持跨浏览器操作? 2. 如何在Fabric.js中添加自定义交互行为? 3. 如何将Fabric.js项目打包部署到生产环境?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值