如何填充曲线内的颜色?

时间:2015-09-16 05:11:13

标签: processing

我想使用函数curve(...)创建一个包含一些封闭区域的图片,但我不知道如何填充内部颜色。

有没有办法填充头部和身体?

void setup(){
  size(800,800);
}

void draw(){
  background(170,243,255);
  fish();
}

void fish(){
  translate(width/2, height/2);//mouseX, mouseY

  //eye
  fill(231,255,188);
  stroke(0);
  ellipse(-100,-100,50,45);
  fill(0);
  ellipse(-100,-100,30,28);

  //head
  noFill();
  strokeWeight(2);
  stroke(157,88,255);
  curve(-400,-100,-200,-200,50,-150,150,50);
  curve(-100,-400,-200,-200,-150,50,0,100);
  curve(-300,50,-150,50,50,-150,50,-300);

  //body
  curve(-200,-350,50,-150,250,250,600,300);
  curve(-200,-200,-150,50,250,250,500,250);
}

1 个答案:

答案 0 :(得分:0)

您可以使用curveVertex()功能。

这并不能完全符合您的要求,但您可以随意使用它,直到它完成:

  //body
  fill(255, 0, 0);
  beginShape();
  curveVertex(-200, -350);
  curveVertex(50, -150);
  curveVertex(250, 250);
  curveVertex(-150, 50);
  curveVertex(-200, -200);
  endShape();

请注意,您可以使用多个这样的块来填充相同颜色的不同部分。