P5.js获取当前的填充/描边颜色?

时间:2018-01-09 23:53:57

标签: p5.js

我正在为p5.js开发一个插件库,我需要在某些功能中设置几种填充/描边颜色。

有没有办法获得当前的填充/笔划值,以便我可以确保当用户调用所述函数时,他不必担心我设置的颜色?

这类事:

function foo(){
    var tempColor = getFill();   //Hypothetical get color function 
    // ...
    fill(color1);                //Some color I use
    // ...
    fill(color2);                //Another color I use
    // ...
    fill(tempColor);             //Reset fill color to user set
}

编辑:虽然没有记录,但我在p5.js中找到了一些curFillColor变量的引用,但我没有找到使用它的方法。

2 个答案:

答案 0 :(得分:1)

嘿,我不知道是否来晚了。我也在尝试为p5创建一个插件库。所以我在做的是在使用填充之前和调用pop之后调用push。因此,我确保填充已恢复。

引用 https://p5js.org/reference/#/p5/push

答案 1 :(得分:0)

P5.js是开源的,因此您可以在调用fill()函数here时确切了解他们的行为:

p5.prototype.fill = function() {
  this._renderer._setProperty('_fillSet', true);
  this._renderer._setProperty('_doFill', true);
  this._renderer.fill.apply(this._renderer, arguments);
  return this;
};

将您带到特定于渲染器的fill变量。你可以追踪它,但基本上:没有一种简单的方法来获得当前的填充颜色。

您可能想要做的是在库中使用缓冲区。不要在主草图上调用fill();在缓冲区上调用fill()。将所有绘图都放到缓冲区中,然后将该缓冲区绘制到草图中。