Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fabricJS-自定义对象未在画布上绘制_Javascript_Canvas_Html5 Canvas_Fabricjs - Fatal编程技术网

Javascript fabricJS-自定义对象未在画布上绘制

Javascript fabricJS-自定义对象未在画布上绘制,javascript,canvas,html5-canvas,fabricjs,Javascript,Canvas,Html5 Canvas,Fabricjs,我正在试验fabricJS中的自定义对象。我从自己画的线开始。我知道已经有了这样一个目标,但我想了解背后发生了什么,以及我可以在多大程度上修改东西。因此,我在开始时使用了一条简单的线,但出于任何原因,它并没有绘制在画布上 看起来,\u render函数在初始化正常工作时未被调用。你能告诉我我的密码有什么问题吗 编辑: 也有同样的问题。似乎必须将width和height属性设置为>0,但我不明白为什么。我在fabricJS源代码中也找不到这种解决方法。因此\u render函数由对象.rend

我正在试验fabricJS中的自定义对象。我从自己画的线开始。我知道已经有了这样一个目标,但我想了解背后发生了什么,以及我可以在多大程度上修改东西。因此,我在开始时使用了一条简单的线,但出于任何原因,它并没有绘制在画布上

看起来,
\u render
函数在
初始化
正常工作时未被调用。你能告诉我我的密码有什么问题吗


编辑:


也有同样的问题。似乎必须将
width
height
属性设置为
>0
,但我不明白为什么。我在fabricJS源代码中也找不到这种解决方法。

因此
\u render
函数由
对象.render
函数调用

Object.render
如下开始:

    render: function(ctx, noTransform) {
      // do not render if width/height are zeros or object is not visible
      if ((this.width === 0 && this.height === 0) || !this.visible) {
        return;
      }
     ...
    }

您的对象没有在
初始化
函数中初始化任何宽度和高度,因此
渲染
方法立即返回,您的
\u渲染
函数不会被调用。

因此
\u渲染
函数由
对象调用。渲染
函数

Object.render
如下开始:

    render: function(ctx, noTransform) {
      // do not render if width/height are zeros or object is not visible
      if ((this.width === 0 && this.height === 0) || !this.visible) {
        return;
      }
     ...
    }
对象没有在
initialize
函数中初始化任何宽度和高度,因此
render
方法会立即返回,并且不会调用
\u render
函数