J'ai utilisé la fonction clearRect, mais je n'ai pas vu d'équivalent pour les polygones. J'ai ingénument essayé:
ctx.fillStyle = 'transparent'; ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineTo(100,50); ctx.lineTo(50, 100); ctx.lineTo(0, 90); ctx.closePath(); ctx.fill();
Mais cela crée simplement une région transparente et n'a pas d'effet sur ce qui existe déjà. Existe-t-il un moyen d'effacer les régions polygones à l'intérieur de l'élément toile?
Vous pouvez utiliser la composition avec l'opération définie sur 'destination-out'
pour ceci:
ctx.globalCompositeOperation = 'destination-out'; ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineTo(100,50); ctx.lineTo(50, 100); ctx.lineTo(0, 90); ctx.closePath(); ctx.fill();
Exemple:
Essayez-le sur jsFiddle