iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Fabric.js保存自定义属性方法示例
  • 328
分享到

Fabric.js保存自定义属性方法示例

Fabric.js保存自定义属性Fabric.js保存属性 2023-02-14 12:02:31 328人浏览 独家记忆
摘要

目录引言动手试试看代码仓库引言 之前有些工友留言:在 fabric.js 中怎么保存元素的自定义属性? 比如,创建一个矩形,这个矩形有自己的 ID 属性,在执行序列化操作出来的结果

引言

之前有些工友留言:在 fabric.js 中怎么保存元素的自定义属性?

比如,创建一个矩形,这个矩形有自己的 ID 属性,在执行序列化操作出来的结果却看不到 ID 属性了。

如何在序列化时输出自定义属性?其实答案都写在文档里。

本文会用真实代码演示一下如何在序列化时输出自定义属性。

动手试试看

序列化的方法有好几个,我用 toJSON 为例。

toJSON 方法可以将画布导出为 JSON 数据。

<canvas id="c" width="500" height="400" style="border: 1px solid #ccc;"></canvas>
<button onclick="handleToJSON()">toJSON</button>
<script>
  let canvas = new fabric.Canvas('c')
  let rect = new fabric.Rect({
    width: 30,
    height: 30,
    top: 10,
    left: 10,
    my_id: 'rect01'
  })
  canvas.add(rect)
  function handleToJSON() {
    console.log(canvas.toJSON()) // 序列化,输出JSON
  }
</script>

点击按钮之后就会在控制台输出一个 JSON 数据,是画布自身的。

但从上图可以看出,创建 矩形rect 时自定义了一个 my_id 的属性,但输出时却看不到 my_id

如果希望在序列化时能输出自定义属性,可以在 toJSON() 方法里传入一个数组,这个数组里标明要输出的自定义属性的 key 即可。

需要注意的是,这里说的 key字符串类型。

// 省略部分代码
let canvas = new fabric.Canvas('c')
let rect = new fabric.Rect({
  width: 30,
  height: 30,
  top: 10,
  left: 10,
  my_id: 'rect01'
})
canvas.add(rect)
function handleToJSON() {
  console.log(canvas.toJSON(['my_id'])) // 序列化,输出JSON
}

点击按钮后,在控制台输出的内容就包含了矩形自定义属性 my_id

除了 toJSON() 外,toObject()toDatalessJSON()toDatalessObject() 都支持输出自定义参数,而且用法都是一样的。

代码仓库

⭐ toJSON输出自定义属性

以上就是Fabric.js 保存自定义属性方法示例的详细内容,更多关于Fabric.js 保存自定义属性的资料请关注编程网其它相关文章!

--结束END--

本文标题: Fabric.js保存自定义属性方法示例

本文链接: https://www.lsjlt.com/news/195950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Fabric.js保存自定义属性方法示例
    目录引言动手试试看代码仓库引言 之前有些工友留言:在 fabric.js 中怎么保存元素的自定义属性? 比如,创建一个矩形,这个矩形有自己的 ID 属性,在执行序列化操作出来的结果...
    99+
    2023-02-14
    Fabric.js 保存自定义属性 Fabric.js 保存属性
  • CSS自定义属性的示例分析
    这篇文章主要为大家展示了“CSS自定义属性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS自定义属性的示例分析”这篇文章吧。 兼容性 第一个问...
    99+
    2024-04-02
  • H5自定义属性data-*的示例分析
    这篇文章主要为大家展示了“H5自定义属性data-*的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“H5自定义属性data-*的示例分析”这篇文章吧。 ...
    99+
    2024-04-02
  • HTML5中data-*自定义属性的示例分析
    这篇文章将为大家详细讲解有关HTML5中data-*自定义属性的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、关于html元素的特性1.html元素都存在一些...
    99+
    2024-04-02
  • AndroidonMeasure与onDraw及自定义属性使用示例
    目录1.自定义View简介2.构造方法3.onMeasure()4.onDraw()5.onTouch()6.自定义属性6.1在res下的values下面新建attrs.xml6.2...
    99+
    2023-02-16
    Android onMeasure Android onDraw Android自定义属性
  • javascript给元素添加自定义属性的方法
    小编给大家分享一下javascript给元素添加自定义属性的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!javascript给元素添加自定义属性的方法:1、给元素添加自定义属性,代码为【obj.setAttribut...
    99+
    2023-06-14
  • HTML5中Video属性及自定义播放器的示例分析
    这篇文章主要介绍了HTML5中Video属性及自定义播放器的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 使用方法: &nbs...
    99+
    2024-04-02
  • C#实现自定义屏保的示例代码
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-31
    C#自定义屏保 C# 屏保
  • vue中的自定义属性并获得属性的值方式
    目录自定义属性并获得属性的值例如对自定义属性--props的理解初始props问题的出现为什么会发生双向流动的问题?补充问题自定义属性并获得属性的值 例如 data-radius语法...
    99+
    2024-04-02
  • IOS开发自定义view方法规范示例
    目录前言一、关于自定义View的初始化方法二、关于addSubview三、关于layoutSubviews四、关于frame与bounds总结前言 对于接触业务开发的童鞋,自定义Vi...
    99+
    2024-04-02
  • Spring Cloud自定义引导属性源的方法是什么
    本篇内容介绍了“Spring Cloud自定义引导属性源的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!引导过程添加的外部配置的默...
    99+
    2023-06-05
  • spring缓存自定义resolver的方法
    目录一、概述二、缓存的读取和失效三、自定义缓存resolver四、自定义resolver的实现五、总结本文介绍spring中自定义缓存resolver,通过自定义resolver,可...
    99+
    2024-04-02
  • SpringCache缓存自定义配置的示例分析
    这篇文章将为大家详细讲解有关SpringCache缓存自定义配置的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Cacheable指定自定义属性详情请参考spring官网添加链接描述1.key的名...
    99+
    2023-06-26
  • HTML5怎么自定义data-* data(obj)属性和jquery的data()方法
    本篇内容介绍了“HTML5怎么自定义data-* data(obj)属性和jquery的data()方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理...
    99+
    2024-04-02
  • Android自定义View展示Wifi信号强弱指示方法示例
    前言最近因为工作的需要,要自定义展示Wifi信号强弱的需要,就通过利用系统广播的方式实现了一个自定义View——WifiStateView,下面话不多说了,感兴趣的朋友们一起来看看详细的介绍吧。实现的效果图如下所示:用不同的图片来表示Wif...
    99+
    2023-05-30
    android 自定义view wifi信号
  • Vue2安装使用MonacoEditor方式(自定义语法,自定义高亮,自定义提示)
    目录1.安装MonacoEditor2.配置vue.config.js文件3.建立组件monaco.vue4.建立语法提示文件sql.js5.父组件引入monaco.vue总结1.安...
    99+
    2023-05-16
    Vue2安装MonacoEditor Vue2使用MonacoEditor Vue2 MonacoEditor
  • CSS Padding属性定义元素边框的示例分析
    CSS Padding属性定义元素边框的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Padding(填充)当元素的 ...
    99+
    2024-04-02
  • JavaScript定义静态方法的示例
    小编给大家分享一下JavaScript定义静态方法的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在javascript中,直接定义在构造函数上的方法和属性是...
    99+
    2023-06-14
  • css中自定义属性和聚光灯效果的实现方法
    这篇文章给大家分享的是有关css中自定义属性和聚光灯效果的实现方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简介CSS Variables,一个并不是那么新的东西,但对css来说绝对是一场革命。之前使用变量的...
    99+
    2023-06-08
  • Qt 自定义属性Q_PROPERTY不显示float类型的解决
    目录Qt 自定义属性Q_PROPERTY不显示float类型Qt 自定义属性Q_PROPERTY下面是一些典型的声明属性的示例DemoQt 自定义属性Q_PROPERTY不显示flo...
    99+
    2022-11-13
    Qt 自定义属性 自定义属性Q_PROPERTY Q_PROPERTY不显示float类型
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作