跳到主要内容
知识地图canvas:画布上的笔迹是不是共享数据?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS 与界面

一个问题

canvas:画布上的笔迹是不是共享数据?

canvas 提供自由绘制;画出的内容是否保存和共享,要由应用连接。

在画布上画一条线,可以帮助解释交互与持久化的区别。当前注册表描述为 client-side only,不发出服务器事件。若要多人共享或重新打开仍能看到笔迹,需要额外的数据与同步机制,不能从有画布推断出来。

先认识这些属性

width 和 height 指定画布像素尺寸;background 指定底色;strokeColor 与 strokeWidth 指定初始画笔颜色和粗细。它们描述绘画区域与工具,不是保存笔迹的地址。

读一个结构例子

以下摘自源码注册示例。它展示结构,未在本页运行;示例中的路径和动作需要应用提供。

json
{
  "id": "whiteboard",
  "type": "canvas",
  "props": {
    "width": 1024,
    "height": 600,
    "background": "#fafafa"
  }
}

这个例子创建宽 1024、高 600 的画布并指定浅色背景,没有提供共享数据源或保存动作。由此可以解释为什么“能够画出来”与“重新打开还能看到”是两项不同能力。

查看 canvas 的技术文档。

检查一下理解

要让另一台设备看到同一笔画,还需要什么?

需要共享绘制数据与同步机制;本页注册描述的客户端画布本身不提供这个证明。