首页 > 解决方案 > fabric.js,在 contextTop 上创建一些形状

问题描述

这是一个关于fabric.js 的问题。我一直在尝试在 contextTop 上创建一些形状。当您在 contextTop(不使用add)上创建一些形状时,如何将它们与 fabric.js 画布合并?

let canvas = new fabric.Canvas('C');
canvas.contextTop.StrokeRect(12,12,30,30);

然后,我想让 Rect 出现在画布上。我应该怎么办?谁能告诉我如何在fabric.js 中使用canvas API?

我不明白contextTop,contextContainer...

标签: javascripthtml5-canvasfabricjs

解决方案


您不能直接使用画布 API。
FabricJS 是一个在画布上工作的框架,你必须使用框架规则,否则它会损坏。

ContextTop 是来自 upperCanvas 的 getContext('2d') 的结果,其中 upperCanvas 是一个叠加在主画布之上的画布,用于进行一些不需要完全画布刷新的快速绘图。

在提供的 API 之外完成的所有 html5 画布绘制将在下一帧被擦除。

要绘制矩形,您必须创建 rect 类并将其添加到画布,这是正确的方法:

var rect = new fabric.Rect({ width: 200, height: 300 });
canvas.add(rect);

推荐阅读