Ich war bisher für iOS für meine Arbeit verantwortlich, aber ich bin auch an der Android-Entwicklung beteiligt, wahrscheinlich weil es derzeit nur wenige Ingenieure auf dem Gebiet gibt. Ich bin ein junger Mensch, aber ich studiere Java, weil es eine sehr wertvolle Erfahrung für meine zukünftige Karriereentwicklung ist. (Der Trend ist wahrscheinlich Kotlin) Also werde ich über die Methode sprechen, die in der Praxis stecken geblieben ist.
bright.java
public int convertColorFromHSV(final int color, final float brightness) {
final float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] -= brightness;
return Color.HSVToColor(hsv);
}
Sie können jetzt die Helligkeit anpassen. Da die maximale Helligkeit 1 (100%) beträgt, wird der Prozentsatz für die Verdunkelung von 1 angepasst. Zum Beispiel, wenn Sie die Helligkeit gegenüber der Originalfarbe um 15% reduzieren möchten Ersetzen Sie die Originalfarbe durch "Farbe" und "Helligkeit" durch "0,15".
(Referenz) Android-Dokumentfarbe https://developer.android.com/reference/android/graphics/Color
Apropos Die Helligkeit ist eine Art HSV-Farbraum. Der HSV-Raum ist einer der Farbräume, die von Computergrafiken verarbeitet werden. Farbton, Sättigung Chroma, Helligkeit Helligkeitswert Es besteht aus 3 Komponenten.
Die Farbklasse ist ein RGB-Farbraum oder ein ARGB-Farbraum.
Mit der obigen Methode
Color.colorToHSV(color, hsv);
Wenn Sie drücken, wird es ein Array von float [] hsv Der Farbton, die Sättigung und die Helligkeit werden entsprechend den Indizes 0, 1 und 2 des hsv-Arrays gespeichert. hsv [0]: Farbton hsv [1]: Sättigung hsv [2]: Helligkeit ist.
Für den Farbton werden Werte von 0,0 bis 360,0 gespeichert. Sättigung, Für die Helligkeit werden Werte von 0,0 bis 1,0 gespeichert.
Ich war ungefähr eine Stunde lang süchtig danach, ohne zu wissen, wie man diese colorToHSV-Methode verwendet.
Recommended Posts