Ich möchte ein gestrichenes Rechteck in bestimmten Leinwandbereich löschen. Mein erster Gedanke war, dass ich nur context.strokeRect
Funktion wieder mit denselben Parametern aufrufen muss, mit strokeStyle
vorher zu transparent
zu ändern. Es funktioniert jedoch nicht. Warum und wie kann ich es reparieren? Beachten Sie, dass ich nur den Strich (Rahmen) des Rechtecks löschen möchte, nicht alles im Inneren.HTML Canvas transparente Strichlinie
Edit: Ich möchte nur Rand löschen, nicht alles im Inneren, so kann ich nicht clearRect()
Methode verwenden. Außerdem kann ich die gesamte Leinwand nicht löschen und neu streichen, da die Leinwand Animationen enthält.
JS Geige: https://jsfiddle.net/47okok8s/
Anmerkung: RGBA -> (rot, blau, grün, alpha), der Alpha-Wert (im Bereich von [0,1]) die Opazität, 1, vollständig deckend ist [W3 CSS3 Colors] (https://www.w3schools.com/css/css3_colors.asp) –
benutze clearRect, um das bestehende Rechteck zu löschen – karthick
Ich nehme nicht an, dass [dies] (https://jsfiddle.net/2gLj52u4/) würde Arbeit. : P In aller Ernsthaftigkeit glaube ich nicht, dass das möglich ist. Sie hätten wahrscheinlich mehr Glück, wenn Sie den "Malprozess" aufzeichnen und ihn wiedergeben, aber den roten Umrissschritt ausschließen. Leinwand ist viel wie Malen. Sie können diesen Strich nicht einfach rückgängig machen. –