前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fabric.js 基础画笔的用法 BaseBrush

Fabric.js 基础画笔的用法 BaseBrush

作者头像
德育处主任
发布2022-09-23 09:47:20
7920
发布2022-09-23 09:47:20
举报
文章被收录于专栏:前端数据可视化

本文简介

点赞 + 关注 + 收藏 = 学会了

本文介绍 Fabric.js 的基础笔刷用法。如果你还不知道 Fabric.js 是什么,我墙裂建议你阅读一下 《Fabric.js 从入门到膨胀》

本文使用 Fabric.js 5.2.1 进行讲解。

BaseBrush文档

用法

使用 基础笔刷 之前,必须将画板设置成 绘画模式 canvas.isDrawingMode = true

创建项目

  1. 创建一个 html 文件
  2. 在页面上创建一个 canvas 元素
  3. 引入 Fabric.js
  4. 初始化画布
  5. 将画布设置成绘画模式
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>基础笔刷 BaseBrush</title>
</head>
<body>
  <!-- 创建 canvas 元素 -->
  <canvas id="c" width="600" height="400" style="border: 1px solid #ccc;"></canvas>
​
  <!-- 引入 fabric.js -->
  <script src="../../script/fabric.5.2.1.js"></script>
  <script>
    // 初始化画布
    const canvas = new fabric.Canvas('c')
    // 将画布设置成绘画模式
    canvas.isDrawingMode = true
  </script>
</body>
</html>

此时在页面上就能进行自由绘制了。

画笔宽度

代码语言:javascript
复制
// 省略部分代码
canvas.freeDrawingBrush.width = 30

可以将一个数值型数据赋给 freeDrawingBrush.width

画笔宽度文档

画笔颜色

代码语言:javascript
复制
// 省略部分代码
canvas.freeDrawingBrush.color = 'pink'

在这个例子里,我把笔刷设置成粉红色。

可以将字符串型的颜色值赋给 freeDrawingBrush.color

笔刷颜色文档

虚线

代码语言:javascript
复制
// 省略部分代码
canvas.freeDrawingBrush.strokeDashArray = [20, 50]

可以将数值型数组赋给 freeDrawingBrush.strokeDashArray。建议你尝试传入多个值,看看修改后的变化。

笔刷虚线文档

投影

代码语言:javascript
复制
// 省略部分代码
canvas.freeDrawingBrush.shadow = new fabric.Shadow({
  blur: 10,
  offsetX: 10,
  offsetY: 10,
  affectStroke: true,
  color: '#30e3ca'
})

使用 fabric.Shadow 设置一个投影属性,并把设置完的值赋给 freeDrawingBrush.shadow

笔刷投影文档

设置投影参数文档

禁止画笔超出画板

默认情况下,画笔图画的范围可以超出画板,如下图这样

如果你不希望画笔涂抹范围超出当前画布可视范围,可以设置 freeDrawingBrush.limitedToCanvasSizetrue

代码语言:javascript
复制
// 省略部分代码
canvas.freeDrawingBrush.limitedToCanvasSize = true

limitedToCanvasSize文档

除了以上的属性外,基础笔刷还有 strokeLineCapstrokeLineJoinstrokeMiterLimit 等属性。可以参照官方文档的说明去试试看。

代码仓库

本文代码

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文简介
  • 用法
    • 创建项目
      • 画笔宽度
        • 画笔颜色
          • 虚线
            • 投影
              • 禁止画笔超出画板
              • 代码仓库
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档