Jcanvas: Farbe eines Objekts wie z.B Kreis abfragen

Jofre

Erfahrenes Mitglied
Mahlzeit miteinander,

wenn mit fillStyle ein Kreis mit einer Farbe versehen wurde, wie kann man diese Farbe später abfragen?

If (fillStyle=='red' ) geht nicht

LG

Joachim
 
Um den fillStyle abzufragen, braucht man den Layer, den man über getLayer ermitteln kann:
Code:
        function Flieg() {

            $('canvas').drawArc({
                layer: true,
                name: 'myBox' + j,
                fillStyle: '#' + Math.floor(Math.random() * 16777215).toString(16),
                x: Math.floor(Math.random() * 600) + 100,
                y: 400,
                radius: 40,
                click: function (layer) {
                    layer.fillStyle = 'blue';
                }
            });
            $('canvas').animateLayer('myBox' + j, {
                y: -80
            }, {
                duration: 4000,
                easing: 'linear',
                step: function (now, fx, layer) {
                    // do something for each step of the animation
                },
                complete: function (layer) {
                    console.log("complete", layer.fillStyle);
                    if (layer.fillStyle == 'blue') console.log("clicked");
               }

            });
            console.log($('canvas').getLayer('myBox' + j).fillStyle);
            j++;

        }
Und wie man dann sieht, wird der Wert in dem Format ausgegeben, in dem man ihn gesetzt hat.
 
Das stimmt. Hatte mich zu kurz gefasst. Ich möchte in der Click Funktion die Farbe des geklickten Kreises ermitteln. Und da funktioniert der getlayer nicht.Zumindestens bei mir nicht.
 
In der click-Funktion hast Du ja den Layer als Parameter.
getLayer würde auch funktionieren, allerdings hättest Du dann das closure-Problem, dass die Variable y nicht mehr den Wert hat, den sie beim Registrieren hatte.
 

Neue Beiträge

Zurück