molily: stroke() und hover

Beitrag lesen

Hallo,

wenn ich eine Linie zeichne (s. Beispiel), gibt es eine Möglichkeit, diese Linie mit einem Hover-Befehl zu belegen?

Canvas ist pixelbasiert. Du füllst mit den Zeichenoperationen Pixel auf der Zeichenfläche, mehr nicht. Das, was du zeichnest, sind keine bleibenden Objekte, die Zeigereignisse entgegennehmen können und ihren Status ändern können. Derzeit lässt sich nicht definieren, dass etwas Gezeichnetes auf dem Canvas auf Zeigereignisse reagiert. Wenn sich etwas auf dem Canvas ändern soll, musst du meist den ganzen Canvas neu zeichnen.

Mithilfe von Canvas-Bibliotheken kann man sich ein Objekt-Modell als Abstraktion bauen, welches jedes Zeigereignis auf ein eigenes Objekt umrechnet und dort Handler aufruft. Das ist möglich, aber ein bisschen Arbeit. Es ist für die Zukunft geplant, dass man sensitive Flächen auf dem Canvas definieren kann – das ist aber vom Zeichnen strikt getrennt.

Falls du manipulierbare Objekte brauchst, die auf einfache Weise Ereignisse empfangen, so empfehle ich dir, dich mit der Sprache SVG beschäftigen:
http://www.selfsvg.info/
http://svg.tutorial.aptico.de/

BonsaiJS und RaphaelJS sind JavaScript-Bibliothek, mit denen sich SVG programmatisch erzeugen.

Grüße,
Mathias