Class ColorContainer

java.lang.Object
pi.resources.color.ColorContainer
All Implemented Interfaces:
Container<Color>

public class ColorContainer extends Object implements Container<Color>
Ein Speicher für Farben des Datentyps Color.

Die Farben werden in einer Map unter einem Farbnamen abgelegt. Neben dem Hauptfarbnamen können weitere Farbnamen als Aliasse gespeichert werden.

Bei den Farbnamen werden sowohl die Groß- und Kleinschreibung als auch Leerzeichen ignoriert. In den Farbnamen können deutsche Umlaute verwendet oder umschrieben werden (z. B. ae, oe, ue, ss). Der Binde- und der Unterstrich werden ebenfalls nicht berücksichtigt.

Die zwölf Farben des Farbkreises von Itten zusammen mit ihren Aliassen bzw. Synonymen:

  1. yellow: Gelb, Hellgelb
  2. yellow orange: orange yellow, gold, Gelb-Orange, Orange-Gelb, Golden, Dunkelgelb
  3. orange: Orange
  4. red orange: orange red, brick red, brick, Rot-Orange, Orange-Rot, Ziegelrot, Hellrot
  5. red: Rot
  6. red purple: purple red, magenta, pink, Rot-Violett, Violett-Rot, Rosa
  7. purple: Violet, Violett, Lila
  8. blue purple: purple blue, indigo, Violett Blau, Blau Violett
  9. blue: Blau
  10. blue green: green blue, cyan, Blau-Grün, Grün-Blau, Türkis
  11. green: Grün
  12. yellow green: green yellow, lime, lime green, Gelb-Grün, Grün-Gelb, Limetten Grün, Limette, Hellgrün
Diese Farben sind ebenfalls im Speicher für Farben enthalten (gehören aber nicht zum Farbkreis von Itten):
  • brown: Braun
  • white: Weiß
  • gray: grey, Grau
  • black: Schwarz
Author:
Josef Friedrich
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    add(String name, int r, int g, int b)
    Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile in dezimaler Notation hinzu.
    add(String name, int r, int g, int b, int a)
    Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile und des Alphakanals in dezimaler Notation hinzu.
    add(String name, int r, int g, int b, int a, String... alias)
    Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile, des Alphakanals in dezimaler Notation und beliebig vieler Aliasse hinzu.
    add(String name, int r, int g, int b, String... alias)
    Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile in dezimaler Notation und beliebig vieler Aliasse hinzu.
    add(String name, Color color)
    Fügt dem Speicher für Farben eine Farbe unter einem Namen hinzu.
    add(String name, Color color, String... alias)
    Fügt dem Speicher für Farben eine Farbe unter einem Namen und beliebig vieler Aliasse hinzu.
    add(String name, String color)
    Fügt dem Speicher für Farben eine Farbe in hexadezimaler Codierung unter einem Namen hinzu.
    add(String name, String color, String... alias)
    Fügt dem Speicher für Farben eine Farbe in hexadezimaler Codierung unter einem Namen und beliebig vieler Aliasse hinzu.
    void
    addAlias(String name, String... alias)
    Fügt Aliase für einen Farbnamen hinzu.
    void
    Fügt alle Farben eines Farbschemas dem Speicher für Farben hinzu.
    void
    Leert den Speicher für Farben samt der Aliasse.
    int
    Zählt die Anzahl der Farben in diesem Farbenspeicher.
    get(String name)
    Gibt eine vordefinierte Farbe zurück.
    get(String name, int alpha)
    Gibt eine vordefinierte Farbe mit geändertem Alphakanal zurück.
    Gibt alle Farben samt der Farbnamen als Map zurück.
    Gibt immer eine vordefinierte Farbe zurück und wirft nie eine Ausnahme.
    getSafe(String name, int alpha)
    Gibt immer eine vordefinierte Farbe zurück und wirft nie eine Ausnahme.
    Ruft eine benannte Farbe anhand ihres Namens ab.
    Gibt eine zufällige Farbe aus dem Farbenspeicher zurück.

    Methods inherited from class java.lang.Object

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

    • ColorContainer

      public ColorContainer()
  • Method Details

    • add

      @API public Color add(String name, Color color)
      Fügt dem Speicher für Farben eine Farbe unter einem Namen hinzu.
      Specified by:
      add in interface Container<Color>
      Parameters:
      name - Der Farbname.
      color - Die Farbe.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
    • add

      @API public Color add(String name, int r, int g, int b, int a)
      Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile und des Alphakanals in dezimaler Notation hinzu.
      Parameters:
      name - Der Farbname.
      r - Der Rotanteil der Farbe (0-255).
      g - Der Gelbanteil der Farbe (0-255).
      b - Der Blauanteil der Farbe (0-255).
      a - Der Alphakanal als Ganzzahl von 0 bis 255. Dem Wert 0 entspricht das Attribut „vollständig transparent“, d. h. unsichtbar. 255 entspricht „nicht transparent“.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
      Since:
      0.26.0
    • add

      @API public Color add(String name, int r, int g, int b, int a, String... alias)
      Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile, des Alphakanals in dezimaler Notation und beliebig vieler Aliasse hinzu.
      Parameters:
      name - Der Farbname.
      r - Der Rotanteil der Farbe (0-255).
      g - Der Gelbanteil der Farbe (0-255).
      b - Der Blauanteil der Farbe (0-255).
      a - Der Alphakanal als Ganzzahl von 0 bis 255. Dem Wert 0 entspricht das Attribut „vollständig transparent“, d. h. unsichtbar. 255 entspricht „nicht transparent“.
      alias - Beliebig viele weitere Farbnamen, die als Aliasse dienen.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
      Since:
      0.26.0
    • add

      @API public Color add(String name, int r, int g, int b)
      Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile in dezimaler Notation hinzu.
      Parameters:
      name - Der Farbname.
      r - Der Rotanteil der Farbe (0-255).
      g - Der Gelbanteil der Farbe (0-255).
      b - Der Blauanteil der Farbe (0-255).
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
      Since:
      0.26.0
    • add

      @API public Color add(String name, int r, int g, int b, String... alias)
      Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile in dezimaler Notation und beliebig vieler Aliasse hinzu.
      Parameters:
      name - Der Farbname.
      r - Der Rotanteil der Farbe (0-255).
      g - Der Gelbanteil der Farbe (0-255).
      b - Der Blauanteil der Farbe (0-255).
      alias - Beliebig viele weitere Farbnamen, die als Aliasse dienen.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
      Since:
      0.26.0
    • add

      @API public Color add(String name, String color)
      Fügt dem Speicher für Farben eine Farbe in hexadezimaler Codierung unter einem Namen hinzu.
      Parameters:
      name - Der Farbname.
      color - Die Farbe in hexadezimaler Codierung.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
    • add

      @API public Color add(String name, Color color, String... alias)
      Fügt dem Speicher für Farben eine Farbe unter einem Namen und beliebig vieler Aliasse hinzu.
      Parameters:
      name - Der Farbname.
      color - Die Farbe.
      alias - Beliebig viele weitere Farbnamen, die als Aliasse dienen.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
    • add

      @API public Color add(String name, String color, String... alias)
      Fügt dem Speicher für Farben eine Farbe in hexadezimaler Codierung unter einem Namen und beliebig vieler Aliasse hinzu.
      Parameters:
      name - Der Farbname.
      color - Die Farbe in hexadezimaler Codierung.
      alias - Beliebig viele weitere Farbnamen, die als Aliasse dienen.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
    • addAlias

      @API public void addAlias(String name, String... alias)
      Fügt Aliase für einen Farbnamen hinzu.
      Parameters:
      name - Der primäre Farbnamen, dem die Aliase zugeordnet werden sollen. Der Name wird normalisiert, bevor er verwendet wird.
      alias - Ein oder mehrere alternative Namen (Aliase) für die Farbe. Jeder Alias wird normalisiert und dem primären Namen zugeordnet.
    • addScheme

      @API public void addScheme(ColorScheme schema)
      Fügt alle Farben eines Farbschemas dem Speicher für Farben hinzu.

      Die Farben werden in einer Map unter dem englischen Farbnamen abgelegt. Neben dem englischen Hauptfarbnamen werden weitere englische und deutsche Farbnamen als Aliasse gespeichert. Auf eine Farbe des Farbenschemas kann deshalb mit mehreren Farbnamen zugegriffen werden.

      Die Reihenfolge der zusammengesetzten Tertiärfarbnamen ist eigentlich festgelegt: Primärfarbname, dann Sekundärfarbname (Gelb-Orange nicht Orange-Gelb). Wir fügen jedoch auch Namen mit der falschen Reihenfolge zum Speicher hinzu.

      Wird ein neues Farbschema gesetzt, werden alle sich bereits im Speicher befindenden Farben gelöscht.

      Parameters:
      schema - Das Farbschema, dessen Farben in den Speicher für Farben abgelegt werden soll.
    • getSafe

      @API public Color getSafe(String name)
      Gibt immer eine vordefinierte Farbe zurück und wirft nie eine Ausnahme.

      Die Farben können auch in hexadezimaler Schreibweise angegeben werden, z. B. #ff0000. Die Groß- und Kleinschreibung spielt keine Rolle. Auch Leerzeichen werden ignoriert.

      Parameters:
      name - Ein Farbname, ein Farbalias (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z. B. #ff0000).
      Returns:
      Eine vordefinierte Farbe.
      See Also:
    • getSafe

      @API public Color getSafe(String name, int alpha)
      Gibt immer eine vordefinierte Farbe zurück und wirft nie eine Ausnahme.

      Die Farben können auch in hexadezimaler Schreibweise angegeben werden, z. B. #ff0000. Die Groß- und Kleinschreibung spielt keine Rolle. Auch Leerzeichen werden ignoriert.

      Parameters:
      name - Ein Farbname, ein Farbalias (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z. B. #ff0000).
      alpha - Der Alphakanal als Ganzzahl von 0 bis 255. Dem Wert 0 entspricht das Attribut „vollständig transparent“, d. h. unsichtbar. 255 entspricht „nicht transparent“.
      Returns:
      Eine vordefinierte Farbe.
      See Also:
    • getAll

      @API public Map<String,Color> getAll()
      Gibt alle Farben samt der Farbnamen als Map zurück.
      Returns:
      Alle Farben samt der Farbnamen als Map zurück.
    • clear

      @API public void clear()
      Leert den Speicher für Farben samt der Aliasse.
      Specified by:
      clear in interface Container<Color>
      See Also:
    • get

      @API public Color get(String name)
      Gibt eine vordefinierte Farbe zurück.

      Die Farben können auch in hexadezimaler Schreibweise angegeben werden, z. B. #ff0000. Die Groß- und Kleinschreibung spielt keine Rolle. Auch Leerzeichen werden ignoriert.

      Specified by:
      get in interface Container<Color>
      Parameters:
      name - Ein Farbname, ein Farbalias (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z. B. #ff0000).
      Returns:
      Eine vordefinierte Farbe.
      Throws:
      RuntimeException - Fall die Farbe nicht definiert ist.
      See Also:
    • namedColor

      @API @Getter public NamedColor namedColor(String name)
      Ruft eine benannte Farbe anhand ihres Namens ab.
      Parameters:
      name - Der Name der Farbe. Der Name wird normalisiert, bevor die Suche durchgeführt wird.
      Returns:
      Ein NamedColor-Objekt, das die gefundene Farbe, ihren Namen und alle Aliase enthält, die auf diese Farbe verweisen. Wenn die Farbe nicht gefunden wird, ist das Farbfeld null.
    • get

      @API public Color get(String name, int alpha)
      Gibt eine vordefinierte Farbe mit geändertem Alphakanal zurück.

      Die Farben können auch in hexadezimaler Schreibweise angegeben werden, z. B. #ff0000. Die Groß- und Kleinschreibung spielt keine Rolle. Auch Leerzeichen werden ignoriert.

      Parameters:
      name - Ein Farbname, ein Farbalias (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z. B. #ff0000).
      alpha - Der Alphakanal als Ganzzahl von 0 bis 255. Dem Wert 0 entspricht das Attribut „vollständig transparent“, d. h. unsichtbar. 255 entspricht „nicht transparent“.
      Returns:
      Eine vordefinierte Farbe.
    • count

      public int count()
      Zählt die Anzahl der Farben in diesem Farbenspeicher.
      Specified by:
      count in interface Container<Color>
      Returns:
      Die Anzahl der Farben.
    • random

      @API public Color random()
      Gibt eine zufällige Farbe aus dem Farbenspeicher zurück.

      Diese Methode wählt eine Farbe zufällig aus den verfügbaren Farben im Farbenspeicher aus und gibt sie zurück.

      Returns:
      Eine zufällige Instanz von Color aus den Farbenspeicher.
      Since:
      0.42.0