So erhalten Sie programmgesteuert eine Liste von Farben aus einem Farbverlauf auf Android

7

in Android Ich möchte ein PieChart mit einer dynamischen Anzahl von Kuchen zeichnen. Jeder Kuchen sollte eine andere Farbe als ein Farbverlauf haben.

Zum Beispiel möchte ich einen Farbverlauf von hellbraun bis dunkelbraun haben. Wenn ich fünf Torten zeichnen muss, brauche ich vom Anfang bis zum Ende dieses Gradienten fünf Volus.

Wie kann ich das in Java mit dem Android Framework machen?

Ich habe herausgefunden, dass ich einen LinearGradient für eine Linie erstellen kann, d. h .:

%Vor%

Aber ich habe keine Funktion gefunden, um eine Farbe von dieser Zeile zu erhalten, d. h .:

%Vor%

Hast du irgendwelche Ideen, wie ich das bekommen kann?

Danke!

    
treimy 15.10.2011, 18:04
quelle

2 Antworten

16

Sie können diese Werte nicht direkt vom LinearGradient abrufen. Der Verlauf enthält nicht die eigentliche Zeichnung. Um diese Werte zu erhalten, können Sie sie auf eine Leinwand malen und die Farben aus der Leinwand herausziehen, oder ich würde vorschlagen, die Werte selbst zu berechnen.

Es ist ein sich wiederholender linearer Farbverlauf in fünf Schritten und Sie haben die RGB-Werte für die erste und letzte Farbe. Der Rest ist nur Mathe. Hier ist der Pseudocode:

%Vor%     
spatulamania 15.10.2011, 18:35
quelle
3

Ein anderer Ansatz, der ein wenig wiederverwendbarer ist (ich stoße dieses Problem die ganze Zeit an). Es ist ein bisschen mehr Code. Hier ist die Verwendung:

%Vor%

Unterstützende Funktionen

%Vor%     
Jason 15.01.2017 14:51
quelle

Tags und Links