Je me demande si le GraphicsContext d'un Canvas dans JavaFX peut remplacer tous les pixels d'un chemin de manière à ce qu'ils redeviennent transparents. Comme la fonction clearRect mais pour n'importe quel chemin.Remplacer le chemin par des couleurs transparentes dans javafx Canvas/GraphicsContext
J'ai regardé les différents BlendModes et effets, mais il semble que il n'y a pas moyen de passer outre en fait la valeur alpha qui pourrait être réalisé par exemple
- rendu une couleur transparente avec l'opérateur Porter/Duff Src
- rendu une couleur non transparente destination sur globalCompositeOperation en HTML5
Je serais très heureux si quelqu'un connaissait un moyen d'y parvenir sans tessellation le chemin et l'utilisation de plusieurs appels clearRect. Je vous remercie.
http://docs.oracle.com/javase/8/javafx/api/javafx/scene/canvas/GraphicsContext.html
addition en réponse au premier commentaire: Au lieu d'utiliser un nœud de chemin que je utilise un nœud Canvas pour effectuer le rendu en utilisant le GraphicsContext et donc, il est impossible de modifier le couleur d'un chemin précédemment rendu. Je suis en train de faire quelque chose comme
Canvas canvas = …;
final GraphicsContext context = canvas.getGraphicsContext();
context.setFill(Color.BLUE);
context.fillRect(0,0,100,100);
…
…
et plus tard je veux rétablir les pixels dans un chemin vers la transparence
context.setStroke(Color.TRANSPARENT);
context.beginPath();
context.moveTo(0, 0);
context.lineTo(10,10);
…
context.stroke();
Cependant, le mélange est appliqué cela ne fonctionne pas. Dans d'autres bibliothèques de rendu, il est possible d'utiliser par ex. l'une des méthodes de mélange/composition mentionnées ci-dessus pour y parvenir mais jusqu'à présent, je n'étais pas capable d'identifier une telle fonctionnalité dans javafx.
Soit vous avez le noeud Path et définissez l'opacité ou vous ne le faites pas et vous redessinez le chemin avec la couleur d'arrière-plan. – Roland
J'ai édité la question avec plus de détails pour essayer de clarifier les questions – illfang
Mais à quoi s'attendre lorsque vous peignez sur la toile avec une couleur transparente? Cela n'aura aucun effet. Il suffit de le peindre avec la couleur de fond. Je soupçonne que ce que tu veux, ce sont des couches différentes. Ce n'est pas ce qu'est un seul Canvas. – Roland