Winkelgradient in Leinwand

8

Ich suche nach einem Code, der es erlaubt, diesen Effekt auf einem Canvas-Strich zu haben. Ich habe bereits einen animierten kreisförmigen Strich, ich brauche nur den ANGLE-Gradienten, nicht linear und nicht radial. Ich habe nur 3 Farben. Das vorhandene ist hier verfügbar (das Bewertungsrating)

Danke an alle:)

    
AndrePliz 06.03.2014, 12:03
quelle

3 Antworten

15

Ein Kontext strokeStyle kann ein Gradient sein:

%Vor%

Beispielcode und eine Demo mit einem GradientenstrokeStyle: Ссылка

%Vor%     
markE 06.03.2014, 17:18
quelle
1

Ich habe diesen Effekt auch vor ein paar Tagen gebraucht und es ist mir gelungen, einen Workaround dafür zu erstellen.

Was ich getan habe, war, einen Gradienten über den anderen zu legen, indem ich etwas wie folgt benutzte:

%Vor%

Hier ist der komplette Code und die Demo in JSFiddle:

Ссылка

Ich hoffe, es hilft.

    
ITWitch 04.01.2017 11:10
quelle
0

In meinem Fall brauchte ich den ganzen Kreis und nicht nur einen Strich um den Umfang. Mit der obigen Antwort und dem Setzen der Linienbreite auf den doppelten Radius ergaben sich unerwünschte Ergebnisse, also schrieb ich meine eigene.

%Vor%

Diese Methode zeichnet Linien vom Mittelpunkt des Kreises zu jedem Pixel entlang der Kante des Kreises. Auf diese Weise erhalten Sie einen saubereren Farbverlauf.

Bei großen Linienstärken ist es immer noch sauberer.

Der größte Nachteil ist die Leistung. Wenn Ihr Radius sehr groß ist, ist die Anzahl der Linien, die benötigt werden, um einen schönen Kreis zu erzeugen, etwa 50 mal so groß wie der Radius.

jsFiddle

    
dfoverdx 11.01.2018 06:16
quelle