PGraphics sourceImage;
PGraphics maskImage;
void setup() {
  size(512, 512);

  // 그라데이션된 이미지 그리기
  color startColor = #ff0000;
  color endColor = #0000ff;
  sourceImage = createGraphics(512, 512);
  sourceImage.beginDraw();
  for (int i = 0; i < sourceImage.width; ++i) {
    color c = lerpColor(startColor, endColor, (float)i / sourceImage.width);
    sourceImage.stroke(c);
    println(sourceImage.width);
    
    sourceImage.line(0, i, sourceImage.width, i);
  }
  sourceImage.endDraw();

  // Shape 그리기
  maskImage = createGraphics(512, 512);
  maskImage.beginDraw();
  // 이 부분을 각자 원하는대로 바꿔야 한다.
  maskImage.triangle(30, 480, 256, 30, 480, 480);
  maskImage.endDraw();

  // 그라데이션된 이미지에 Shape를 마스킹해서 Shape 밖의 부분은 보이지 않게 한다.
  sourceImage.mask(maskImage);
}

void draw() {
  // 최종 완성된 이미지를 그린다.
  image(sourceImage, 0, 0);
}

결과물

image.png

참고

https://forum.processing.org/two/discussion/23886/masking-a-shape-with-another-shape.html