在处理中,是否有共同属性的矩阵堆栈?

时间:2012-02-29 21:10:58

标签: processing

此处理代码是否有pushMatrix()/popMatrix()模拟试图将自定义属性分配给文本?

pushMatrix();
textAlign(CENTER);
fill(0, 255, 0);
text("Hello world.", 0, 0);
popMatrix();

此代码不起作用; popMatrix()不会撤消属性分配。在popMatrix()之后键入的任何文字仍然是居中对齐且为绿色。

1 个答案:

答案 0 :(得分:1)

是的,有,它适用于所有样式(fill(),stroke()等),而不仅仅是文本属性:看看pushStyle()

来自docs:

  

pushStyle()函数保存当前样式设置和   popStyle()恢复先前的设置。请注意,这些功能是   总是一起使用。它们允许您更改样式设置和   后来回到你拥有的。当一个新的样式开始时   pushStyle(),它建立在当前样式信息的基础上。该   可以嵌入pushStyle()和popStyle()函数以提供更多功能   控制(参见上面的第二个例子进行演示。)

     

由以下功能控制的样式信息是   包含在样式中:fill(),stroke(),tint(),strokeWeight(),   strokeCap(),strokeJoin(),imageMode(),rectMode(),ellipseMode(),   shapeMode(),colorMode(),textAlign(),textFont(),textMode(),   textSize(),textLeading(),emissive(),specular(),shininess(),   环境()