Class ColorUtil

java.lang.Object
de.pirckheimer_gymnasium.engine_pi.util.ColorUtil

public final class ColorUtil extends Object
Statische Klasse, die Hilfsmethoden zur Farbberechnung und -manipulation bereitstellt.
  • Method Summary

    Modifier and Type
    Method
    Description
    static Color
    Konvertiert eine Farbe in hexadezimaler Notation in die entsprechende Instanz der Klasse Color.
    static Color[]
    decode(String[] hex)
    Dekodiert eine Feld / Array bestehend aus hexadezimalen Repräsentationen von Farben in Zeichenkettenform in ein Feld aus Objekten der Klasse Color.
    static Color
    decode(String hex, boolean solid)
    Konvertiert eine Farbe in hexadezimaler Notation in die entsprechende Instanz der Klasse Color.
    static String
    encode(Color color)
    Kodiert die angegebene Farbe in eine hexadezimale Repräsenation.
    static int
    ensureColorValueRange(float value)
    Stellt sicher, dass der angegebene Wert innerhalb des akzeptierten Bereichs für Farbwerte (0-255) liegt.
    static int
    Stellt sicher, dass der angegebene Wert innerhalb des akzeptierten Bereichs für Farbwerte (0-255) liegt.
    static Color
    getTransparentVariant(Color color, int newAlpha)
     
    static Color
    interpolate(Color color1, Color color2, double factor)
    Mischt eine neue Farbe aus zwei gegebenen Farben, wobei das Mischverhältnis angegeben werden kann.
    static boolean
    Überprüft, ob die gegebene Zeichenketten eine Farbe in hexadezimaler Notation (z.
    static Color
    Premultiplies the alpha on the given color.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • encode

      public static String encode(Color color)
      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

      public static Color decode(String hex)
      Konvertiert eine Farbe in hexadezimaler Notation in die entsprechende Instanz der Klasse Color.

      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

      public static Color decode(String hex, boolean solid)
      Konvertiert eine Farbe in hexadezimaler Notation in die entsprechende Instanz der Klasse Color.
      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

      public static Color[] decode(String[] hex)
      Dekodiert eine Feld / Array bestehend aus hexadezimalen Repräsentationen von Farben in Zeichenkettenform in ein Feld aus Objekten der Klasse Color.
      Parameters:
      hex - Eine Feld / Array bestehend aus hexadezimalen Repräsentationen von Farben in Zeichenkettenform.
      Returns:
      Ein Feld bestehend aus Objekten der Klasse Color.
    • isHexColorString

      public static boolean isHexColorString(String color)
      Ü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

      public static Color premultiply(Color color)
      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

      public static Color interpolate(Color color1, Color color2, double factor)
      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 wird color1 zurückgeben, ist er 1 dann color2.
      Returns:
      Die neue, aus zwei Farben gemischte Farbe.
    • getTransparentVariant

      public static Color getTransparentVariant(Color color, int newAlpha)