Class ColorUtil
java.lang.Object
de.pirckheimer_gymnasium.engine_pi.util.ColorUtil
Statische Klasse, die Hilfsmethoden zur Farbberechnung und
-manipulation bereitstellt.
-
Method Summary
Modifier and TypeMethodDescriptionstatic ColorcalculateAverage(BufferedImage image) Berechnet die Durchschnittsfarbe eines Bildes.static ColorÄndert die HSB-Werte (Farbton (Hue), Sättigung (Saturation), Helligkeit (Brightness)) einer gegebenen Farbe durch einen Lambda-Funktion.static ColorchangeAlpha(Color color, int alpha) Gibt eine Farbe mit geändertem Alphakanal zurück.static ColorchangeBrightness(Color color, double deltaBrightness) Ändert die Helligkeit einer gegebenen Farbe um einen bestimmten Betrag.static ColorchangeSaturation(Color color, double deltaSaturation) Ändert die Sättigung einer gegebenen Farbe um einen bestimmten Wert.static ColorKonvertiert eine Farbe in hexadezimaler Notation in die entsprechende Instanz der KlasseColor.static Color[]Dekodiert eine Feld / Array bestehend aus hexadezimalen Repräsentationen von Farben in Zeichenkettenform in ein Feld aus Objekten der KlasseColor.static ColorKonvertiert eine Farbe in hexadezimaler Notation in die entsprechende Instanz der KlasseColor.static StringKodiert die angegebene Farbe in eine hexadezimale Repräsenation.static intensureColorValueRange(float value) Stellt sicher, dass der angegebene Wert innerhalb des akzeptierten Bereichs für Farbwerte (0-255) liegt.static intensureColorValueRange(int value) Stellt sicher, dass der angegebene Wert innerhalb des akzeptierten Bereichs für Farbwerte (0-255) liegt.static ColorgetComplementary(Color color) Berechnet die Komplementärfarbe.static ColorgetTransparentVariant(Color color, int newAlpha) static Colorinterpolate(Color color1, Color color2, double factor) Mischt eine neue Farbe aus zwei gegebenen Farben, wobei das Mischverhältnis angegeben werden kann.static booleanisHexColorString(String color) Überprüft, ob die gegebene Zeichenketten eine Farbe in hexadezimaler Notation (z.static Colorpremultiply(Color color) Premultiplies the alpha on the given color.static ColorsetBrightness(Color color, double brightness) Setzt die Helligkeit einer gegebenen Farbe auf den angegebenen Wert.static ColorsetSaturation(Color color, double saturation) Setzt die Sättigung einer gegebenen Farbe auf den angegebenen Wert.
-
Method Details
-
encode
Kodiert die angegebene Farbe in eine hexadezimale Repräsenation. Das Ausgabeformat ist wie folgt:#RRGGBB- Für Farben ohne Alpha-Kanal bzw. ohne zusätzliche Transparenzinformationen.#RRGGBBAA- Für Farben mit Alpha-Kanal bzw. mit zusätzlichen Transparenzinformationen.
Beispiele:
Color.RED= "#ff0000"
new Color(255, 0, 0, 200)= "#ff0000c8"- Parameters:
color- Die Farbe, die kodiert werden soll.- Returns:
- Eine hexadezimale Repräsenation als Zeichenkette.
- See Also:
-
decode
Konvertiert eine Farbe in hexadezimaler Notation in die entsprechende Instanz der KlasseColor.Hinweis: Die Methode gibt null zurück, falls die Eingabe nicht korrekt ist.
Mögliche Eingabeformate sind:#RRGGBB- Für Farben ohne Alpha-Kanal bzw. ohne zusätzliche Transparenzinformationen.#RRGGBBAA- Für Farben mit Alpha-Kanal bzw. mit zusätzlichen Transparenzinformationen.
Beispiele:
"#ff0000" =Color.RED
"#ff0000c8" =new Color(255, 0, 0, 200)- Parameters:
hex- Die Farbe in einer hexadezimalen Repräsentation.- Returns:
- Die dekodierte Farbe.
- See Also:
-
decode
Konvertiert eine Farbe in hexadezimaler Notation in die entsprechende Instanz der KlasseColor.- Parameters:
hex- Ein Farbe in hexadezimaler Notation.solid- Bedeutet, dass der Alphakanal grundsätzlich ein dunklere Version der Grundfarbe erzeugt.- Returns:
- Die Farbe als Instanz der Klasse
Color.
-
decode
Dekodiert eine Feld / Array bestehend aus hexadezimalen Repräsentationen von Farben in Zeichenkettenform in ein Feld aus Objekten der KlasseColor.- Parameters:
hex- Eine Feld / Array bestehend aus hexadezimalen Repräsentationen von Farben in Zeichenkettenform.- Returns:
- Ein Feld bestehend aus Objekten der Klasse
Color.
-
isHexColorString
Überprüft, ob die gegebene Zeichenketten eine Farbe in hexadezimaler Notation (z. B.#ff0000) codiert.- Parameters:
color- Eine Zeichenkette, die überprüft werden soll.- Returns:
- Wahr, falls die Zeichenketten eine Farbe in hexadezimaler
Notation (z. B.
#ff0000) korrekt codiert.
-
ensureColorValueRange
public static int ensureColorValueRange(float value) Stellt sicher, dass der angegebene Wert innerhalb des akzeptierten Bereichs für Farbwerte (0-255) liegt. Kleinere Werte werden zwangsweise auf 0 gesetzt und größere Werte ergeben 255.- Parameters:
value- Die Zahl, die überprüft werden soll.- Returns:
- Ein ganzzahliger Wert, der den Farbwertbeschränkungen entspricht.
-
ensureColorValueRange
public static int ensureColorValueRange(int value) Stellt sicher, dass der angegebene Wert innerhalb des akzeptierten Bereichs für Farbwerte (0-255) liegt. Kleinere Werte werden zwangsweise auf 0 gesetzt und größere Werte ergeben 255.- Parameters:
value- Die Zahl, die überprüft werden soll.- Returns:
- Ein ganzzahliger Wert, der den Farbwertbeschränkungen entspricht.
-
premultiply
Premultiplies the alpha on the given color.- Parameters:
color- The color to premultiply- Returns:
- The color given, with alpha replaced with a black background.
-
interpolate
Mischt eine neue Farbe aus zwei gegebenen Farben, wobei das Mischverhältnis angegeben werden kann.- Parameters:
color1- Die erste Farbe, mit der gemischt werden soll.color2- Die zweite Farbe, mit der gemischt werden soll.factor- Das Mischverhältnis. Ein Wert zwischen 0 und 1. Ist dieser Wert 0, so wirdcolor1zurückgeben, ist er 1 danncolor2.- Returns:
- Die neue, aus zwei Farben gemischte Farbe.
-
getTransparentVariant
-
changeAlpha
Gibt eine Farbe mit geändertem Alphakanal zurück.- Parameters:
color- Die Farbe, dess Alphakanal geändert werden soll.alpha- Der Alphakanal als Ganzzahl von 0 - 255.- Returns:
- Die Farbe mit geändertem Alphakanal.
-
getComplementary
Berechnet die Komplementärfarbe.Der Alphakanal der Ausgangsfarbe wird ignoriert.
- Parameters:
color- Die Ausgangsfarbe, von der die Komplementärfarbe berechnet werden soll.- Returns:
- Die Komplementärfarbe.
-
calculateAverage
Berechnet die Durchschnittsfarbe eines Bildes. https://stackoverflow.com/questions/28162488/get-average-color-on-bufferedimage-and-bufferedimage-portion-as-fast-as-possible- Parameters:
image- Das Bild von dem die Durchschnittfarbe berechnet werden soll.- Returns:
- Die Durchschnittsfarbe.
-
chanceHSB
public static Color chanceHSB(Color color, de.pirckheimer_gymnasium.engine_pi.util.HSBColorVariant variant) Ändert die HSB-Werte (Farbton (Hue), Sättigung (Saturation), Helligkeit (Brightness)) einer gegebenen Farbe durch einen Lambda-Funktion.- Parameters:
color- Die ursprüngliche Farbe, deren HSB-Werte geändert werden sollen.variant- Eine Lambda-Funktion, die die Änderung der HSB-Werte definiert.- Returns:
- Eine neue Farbe mit den geänderten HSB-Werten.
- Since:
- 0.33.0
-
setBrightness
Setzt die Helligkeit einer gegebenen Farbe auf den angegebenen Wert.- Parameters:
color- Die ursprüngliche Farbe, deren Helligkeit geändert werden soll.brightness- Der gewünschte Helligkeitswert (zwischen0.0und1.0).- Returns:
- Eine neue Farbe mit der angepassten Helligkeit.
- Since:
- 0.33.0
-
changeBrightness
Ändert die Helligkeit einer gegebenen Farbe um einen bestimmten Betrag.- Parameters:
color- Die ursprüngliche Farbe, deren Helligkeit geändert werden soll.deltaBrightness- Der Betrag, um den die Helligkeit (zwischen0.0und1.0) geändert werden soll. Positive Werte erhöhen die Helligkeit, negative Werte verringern sie.- Returns:
- Eine neue Farbe mit der angepassten Helligkeit.
-
setSaturation
Setzt die Sättigung einer gegebenen Farbe auf den angegebenen Wert.- Parameters:
color- Die ursprüngliche Farbe, deren Sättigung geändert werden soll.saturation- Der neue Sättigungswert (zwischen0.0und1.0), der angewendet werden soll.- Returns:
- Eine neue Farbe mit der angepassten Sättigung.
- Since:
- 0.33.0
-
changeSaturation
Ändert die Sättigung einer gegebenen Farbe um einen bestimmten Wert.- Parameters:
color- Die ursprüngliche Farbe, deren Sättigung geändert werden soll.deltaSaturation- Der Wert, um den die Sättigung (zwischen0.0und1.0) erhöht oder verringert werden soll. Positive Werte erhöhen die Sättigung, negative Werte verringern sie.- Returns:
- Eine neue Farbe mit der angepassten Sättigung.
-