Colors 处理中的当前填充颜色

Colors 处理中的当前填充颜色,colors,processing,Colors,Processing,在处理过程中,我可以调用fill(myRGBValue) 设置填充颜色。有没有办法查询当前填充颜色?当然,可以: g是默认渲染器的名称。您还可以使用g.strokeColor获取笔划颜色。这两种方法都考虑了noFill()和noStroke() 请注意,这可能只适用于Java版本的Processing,而不是P5.js,后者在后台的工作方式有所不同 如果您想保持程序的兼容性,请使用以下方法: //公用事业 private static color currentFillColor = 0xFFF

在处理过程中,我可以调用
fill(myRGBValue)
设置填充颜色。有没有办法查询当前填充颜色?

当然,可以:

g
是默认渲染器的名称。您还可以使用
g.strokeColor
获取笔划颜色。这两种方法都考虑了
noFill()
noStroke()


请注意,这可能只适用于Java版本的Processing,而不是P5.js,后者在后台的工作方式有所不同

如果您想保持程序的兼容性,请使用以下方法:

//公用事业

private static color currentFillColor = 0xFFFFFFFF;
private static color currentStrokeColor = 0xFF000000;

void setFill(color c)
{
  currentFillColor = c;
  fill(c);
}

color getFill()
{
  return currentFillColor;
}

void setStroke(color c)
{
  currentStrokeColor = c;
  stroke(c);
}

color getStroke()
{
  return currentStrokeColor;
}

注意:只有在使用PDE运行/编译时,处理才会转换为Java。例如,浏览器将通过将源代码编译为JavaScript来运行处理源代码,在这种情况下,g.fillColor将不起作用,因为没有底层Java框架。@Mike'Pomax'Kamermans-Hmm,我明白了。我承认我从未走过那条路。不确定OP的用例是什么…谢谢,
g.fillColor
运行良好。我使用它将对
fill(newColor)
的调用包装为
getOldColor
replaceBackToOldColor
。我只在Java中工作,没有导出到javascript。但是将我的工作作为javascript运行的想法很有趣——我将研究如何在浏览器中运行处理文件。
private static color currentFillColor = 0xFFFFFFFF;
private static color currentStrokeColor = 0xFF000000;

void setFill(color c)
{
  currentFillColor = c;
  fill(c);
}

color getFill()
{
  return currentFillColor;
}

void setStroke(color c)
{
  currentStrokeColor = c;
  stroke(c);
}

color getStroke()
{
  return currentStrokeColor;
}