Использование заполнения(); с линией(); в процессе

Пытаюсь выяснить, могу ли я заполнить закрытый путь цветом, можно ли это сделать?

Вот основной пример того, с чем у меня проблемы.

void setup() {
size(640, 360);

    fill(122,161,158);
    strokeWeight(1);
    stroke(0,0,0);
    line(548,144,516,220);
    line(516,220,599,257);
    line(599,257,548,144);
}

Заливка вроде не работает. Заполнение работает только с предопределенными формами, такими как rect()? Если да, то есть ли способ заполнить закрытые строки. Я использую обработку 2.2.1


person Joe    schedule 26.09.2015    source источник


Ответы (2)


Пожалуйста, просмотрите beginShape():

void setup() {
size(640, 360);

    fill(122,161,158);
    strokeWeight(1);
    stroke(0,0,0);
    beginShape();
    vertex(548,144);vertex(516,220);
    vertex(516,220);vertex(599,257);
    vertex(599,257);vertex(548,144);
    endShape();
}

Дополнительно проверьте createShape()

person George Profenza    schedule 26.09.2015

Функция line() делает именно это: рисует одну линию. Обработка не имеет концепции областей, определяемых с помощью этой функции.

Вместо этого вы хотите использовать функции формы. Вот один из способов сделать это:

void setup() {
   size(640, 360);

   fill(122,161,158);
   strokeWeight(1);
   stroke(0,0,0);

   beginShape();
   vertex(548,144);
   vertex(516,220);
   vertex(599);
   vertex(30, 75);
   endShape(CLOSE);
}
person Kevin Workman    schedule 26.09.2015