关于前端:Fabricjs-手动加粗文本iText

本文简介

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

本文介绍 Fabric.jsIText 在画布上如何让用户手动加粗文本。

成果如图所示:

要实现2种操作

  1. 全文加粗
  2. 只加粗选中的文字

如果你还不分明 Fabric.js 有什么用,我强烈推荐你浏览 《Fabric.js 从入门到旁若无人》 。该文能让你的前端技术再点亮一个技能点。

全文加粗

只需把 ITextfontWeight 属性设置成 bold 即可实现加粗。

如果想变回默认款式,能够将 fontWeight 设为 normal

批改完文字款式后,须要执行 canvas.renderAll() 从新渲染一下画布内容。

<button onclick="bold()">加粗</button>
<canvas id="c2" width="250" height="300" style="border: 1px solid #ccc"></canvas>

<!-- 引入fabric.js -->
<script src="js/fabric.js"></script>
<script>
  // 创立画布
  const canvas = new fabric.Canvas('c2')

  // 创立文本
  const iText = new fabric.IText('hello world')
  canvas.add(iText)

  function bold() {
    // 以后选中的元素
    let activeTxt = canvas.getActiveObject()

    // 只有选中文本才执行以下操作
    if (activeTxt) {
      activeTxt.fontWeight = 'bold' // 将字体加粗
      canvas.renderAll() // 从新渲染画布
    }
  }
</script>

加粗选中的文字

能够用 setSelectionStyles 设置被选中的文字款式,外面传一个款式对象即可。

<button onclick="bold()">加粗</button>
<canvas id="c2" width="250" height="300" style="border: 1px solid #ccc"></canvas>

<!-- 引入fabric.js -->
<script src="js/fabric.js"></script>
<script>
  // 创立画布
  const canvas = new fabric.Canvas('c2')

  // 创立文本
  const canvas = new fabric.Canvas('c2')

  // 创立文本
  const iText = new fabric.IText('hello world')
  canvas.add(iText)

  function bold() {
    // 以后选中的元素
    let activeTxt = canvas.getActiveObject()
    if (activeTxt) {
      activeTxt.setSelectionStyles({ 'fontWeight': 'bold' }) // 设置选中文字的款式
      canvas.renderAll() // 从新渲染画布
    }
  }
</script>

仓库

  • ⭐本文代码仓库(完整版)

举荐浏览

文章 简介
《Fabric.js 橡皮擦的用法(蕴含复原性能)》 橡皮擦须要下载一个工具包,详情可参考该文。
《Fabric.js 根底画笔的用法 BaseBrush》 画笔的根底用法
《Fabric.js 自在绘制圆形》 将“框选”动作革新成自在绘制圆形
《Fabric.js 3个api设置画布宽高》 宽高设置并不是在初始化是能力进行的,本文介绍3种办法设置画布宽高,让你的画布更容易适配不同的应用场景
《Fabric.js 更换图片的3种办法(包含更换分组内的图片,以及存在缓存的状况)》 如果你的我的项目须要动静更换画布上的图片,那我也给你总结了3中办法
《Fabric.js 摆正元素的4种办法(带过渡动画)》 一键摆正被你旋转过的元素
《Fabric.js 将本地图像上传到画布背景》 除了在初始化时设置画布背景外,我还做了本地上传背景的性能,让画布在运行时也能批改背景图
《在 Vue3中应用Fabric.js实现突变(Gradient)成果,包含径向突变radial》 官网入门教程也只有线性突变,以至于某些文章说 Fabric.js 只反对线性突变。但其实径向突变也齐全反对
《Fabric.js 从入门到旁若无人》 Fabric.js 入门指南,学完能应酬简略业务
《Fabric.js 右键菜单》 Fabric.js 临时还没右键事件,如果你想实现右键菜单的性能,可间接复制该文章的代码~

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理