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 ColorchangeAlpha(Color color, int alpha) Gibt eine Farbe mit geändertem Alphakanal zurück.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.
-
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.
-