- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在编写一个程序,用不同的颜色重绘许多(数百个)相同的 PShape。但是,我还没有找到一种在不实际重新创建 PShape 的情况下以不同颜色重绘 PShape 的方法,即通过开始/结束形状重做所有顶点并简单地更改填充,然后将其分配给新的 PShape 变量。我尝试过 tint()、fill()、setFill() 之类的东西,它们似乎都需要以开始/结束形状调用。
有没有办法在不完全重新定义形状并将其分配给新变量的情况下以不同颜色重绘 PShape?
非常感谢任何帮助。
(这里是我尝试过的不同事物的整理)
PShape p;
void setup()
{
size(600,600,P2D);
p = createShape();
p.beginShape();
p.vertex(0, 0);
p.vertex(20, 0);
p.vertex(20, 20);
p.vertex(0, 20);
p.endShape(CLOSE);
}
void draw()
{
p.tint(200,100,30);
p.fill(200,100,30);
p.setFill(0,0);
shape(p,100,100);
}
非常感谢任何帮助
最佳答案
是的,您可以使用 PShape 的 disableStyle()禁用它的渲染风格并使用 Processing 的(你的草图):
PShape p;
void setup()
{
size(600, 600, P2D);
p = createShape();
p.beginShape();
p.vertex(0, 0);
p.vertex(20, 0);
p.vertex(20, 20);
p.vertex(0, 20);
p.endShape(CLOSE);
//disable the PShape's default styles and use Processing's
p.disableStyle();
}
void draw()
{
background(255);
for(int i = 0 ; i < 30 ; i++){
fill(i/30.0*255, 100, 30);
shape(p, i * 20,300);
}
}
对于这样一个简单的形状你当然可以使用rect() ,但我认为这是更复杂的东西的占位符。其他值得探索的是 beginShape()也许createGraphics()
关于processing - 有没有办法在不输入开始/结束的情况下更改 PShape 的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904080/
Processing 手册(第二版)中的示例 17-10 是这样的: PShape zig; void setup() { size(100, 100); zig = createShape(
我目前正在使用Processing构建一个应用程序。我有一个形状,我可以在其中选择其子元素并操纵其颜色和笔画...但我无法调整文件的每个元素的大小。基本上,我想要的是调整整个内容的大小,如下所示: s
我一直在编写一个程序,用不同的颜色重绘许多(数百个)相同的 PShape。但是,我还没有找到一种在不实际重新创建 PShape 的情况下以不同颜色重绘 PShape 的方法,即通过开始/结束形状重做所
我愿意: 多次平移、反转和旋转单个四边形(PShape 对象) 然后更改其 2 个顶部顶点之一的高度 因此整个物体就像一个铰接臂可以弯曲向右或向左。 为了尽可能清楚地说明,我制作了一些图形。
我有以下处理程序: //using Papplet instead of STDraw to visually represent my grid, created by Mahmed Ibrahim
我有这段代码基本上可以读取图像的每个像素并用不同的形状重新绘制它。使用 sin() wave 时所有形状都会变淡。现在我想在它们淡入时围绕其自己的轴 (shapeMode(CENTER)) 旋转每个“
我有这段代码基本上可以读取图像的每个像素并用不同的形状重新绘制它。使用 sin() wave 时所有形状都会变淡。现在我想在它们淡入时围绕其自己的轴 (shapeMode(CENTER)) 旋转每个“
我在 mac 上使用 Processing 2.08。我正在尝试使用文档中给出的 createShape 函数创建 PShape。 PShape s; void setup(){ size(500
我在 mac 上使用 Processing 2.08。我正在尝试使用文档中给出的 createShape 函数创建 PShape。 PShape s; void setup(){ size(500
我是一名优秀的程序员,十分优秀!