GraphicsApp API
Eine überarbeitete und angepasste Variante der originalen GraphicsApp-Umgebung
Color.java
gehe zur Dokumentation dieser Datei
1package de.ur.mi.oop.colors;
2
3
4/**
5 * Repräsentiert eine RGB-Farbe. Instanzen dieser Klasse können an GraphicsObjects übergeben werden,
6 * um diese einzufärben.
7 */
8public class Color {
9
10 private final int red;
11 private final int green;
12 private final int blue;
13 private final int alpha;
14
15 private java.awt.Color awtColor;
16
17 /**
18 * Erstellt eine neue Color-Instanz aus den angegebenen RGB-Werten.
19 *
20 * @param red der Rotwert der neuen Farbe (0-255)
21 * @param green der Grünwert der neuen Farbe (0-255)
22 * @param blue der Blauwert der neuen Farbe (0-255)
23 */
24 public Color(int red, int green, int blue) {
25 this.red = red;
26 this.green = green;
27 this.blue = blue;
28 this.alpha = 255;
29 }
30
31 /**
32 * Erstellt eine neue Color-Instanz aus den angegebenen RGB-Werten.
33 *
34 * @param red der Rotwert der neuen Farbe (0-255)
35 * @param green der Grünwert der neuen Farbe (0-255)
36 * @param blue der Blauwert der neuen Farbe (0-255)
37 * @param alpha der Transparenzwert der neuen Farbe (0-255)
38 */
39 public Color(int red, int green, int blue, int alpha) {
40 this.red = red;
41 this.green = green;
42 this.blue = blue;
43 this.alpha = alpha;
44 }
45
46 /**
47 * Erstellt eine neue Color-Instanz aus den angegebenen RGB-Wert im Binärformat.
48 *
49 * @param rgb der Farbwert (RGB) im Binärformat
50 */
51 public Color (int rgb) {
52 java.awt.Color color = new java.awt.Color(rgb);
53 this.red = color.getRed();
54 this.green = color.getGreen();
55 this.blue = color.getBlue();
56 this.alpha = color.getAlpha();
57 }
58
59 /**
60 * Gibt den Rotwert zurück
61 *
62 * @return Rotwert (0-255)
63 */
64 public int red() {
65 return red;
66 }
67
68 /**
69 * Gibt den Grünwert zurück
70 *
71 * @return Grünwert (0-255)
72 */
73 public int green() {
74 return green;
75 }
76
77 /**
78 * Gibt den Blauwert zurück
79 *
80 * @return Blauwert (0-255)
81 */
82 public int blue() {
83 return blue;
84 }
85
86 /**
87 * Gibt den Transparenzwert zurück
88 *
89 * @return Transparenzwert (0-255)
90 */
91 public int alpha() {
92 return alpha;
93 }
94
95
96 /**
97 * Gibt die Farbe als RGB-Wert im Binärformat zurück.
98 *
99 * @return Farbwert (RGB) im Binärformat
100 */
101 public int toInt() {
102 java.awt.Color color = this.asAWTColor();
103 return color.getRGB();
104 }
105
106 /**
107 * Transformiert die GraphicsApp-Farbinstanz in eine AWT-Farbe um mit Java2D benutzt werden zu können.
108 *
109 * @return die RGB-Farbe als AWT-Objekt
110 */
111 public java.awt.Color asAWTColor() {
112 if (awtColor == null) {
113 awtColor = new java.awt.Color(red, green, blue, alpha);
114 }
115 return awtColor;
116 }
117
118}
java.awt.Color asAWTColor()
Definition: Color.java:111
Color(int red, int green, int blue, int alpha)
Definition: Color.java:39
Color(int red, int green, int blue)
Definition: Color.java:24