Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Add `beginClip()` and `endClip()` masking functions

Ouverte
#1,191 4 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
java

Piste de recherche

Commencez dans la zone Core/Environment/Rendering en lisant le comportement existant de mask() et la référence liée de p5.js beginClip(). Définissez le fonctionnement attendu de beginClip(), endClip() et du flag invert facultatif, puis vérifiez que les commandes de dessin entre les appels produisent le comportement de découpage normal et inversé attendu.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Relevant sub-area for this feature?

Core/Environment/Rendering

Feature details
Feature description

Add beginClip() and endClip() to define clipping masks using drawing commands. Shapes drawn between these calls become the mask. An optional invert flag enables inverse masking.

Benefits
  • More intuitive and less verbose than mask()
  • Matches p5.js API and reduces cognitive load when switching from one to the other
Challenges
  • Not sure
Additional context

See https://p5js.org/reference/p5/beginClip/

Example code

This mask() code...

  // Create pattern graphics
  pattern = createGraphics(width, height);
  pattern.beginDraw();
  pattern.background(255);
  pattern.stroke(0);
  pattern.strokeWeight(2);
  for (int x = 0; x < width; x += 10) {
    pattern.line(x, 0, x, height);
  }
  pattern.endDraw();

  // Create mask graphics (white circle on black)
  maskImg = createGraphics(width, height);
  maskImg.beginDraw();
  maskImg.background(0);
  maskImg.noStroke();
  maskImg.fill(255);
  maskImg.ellipse(width/2, height/2, 200, 200);
  maskImg.endDraw();

  // Apply mask to pattern
  pattern.mask(maskImg);

... becomes this using beginClip()/endClip():

  // Define clipping region
  beginClip();
  ellipse(width/2, height/2, 200, 200);
  endClip();

  // Draw pattern inside the clip
  stroke(0);
  strokeWeight(2);
  for (int x = 0; x < width; x += 10) {
    line(x, 0, x, height);
  }
Would you like to help implement this feature?

No, I’m just suggesting the feature

Langage dominant
Java
Étoiles
497
Forks
183
Merge moyen
4 h 39 min
PR mergées (30 j)
3

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de processing/processing4

Toutes les issues de processing/processing4

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.