-
Notifications
You must be signed in to change notification settings - Fork 0
/
Color.java
executable file
·76 lines (60 loc) · 1.59 KB
/
Color.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
public class Color {
private double red, green, blue;
public Color(double red, double green, double blue) {
this.red = red;
this.green = green;
this.blue = blue;
}
public Color(Color c) {
red = c.red;
green = c.green;
blue = c.blue;
}
public Color multiply(double mult) {
return new Color(red * mult, green * mult, blue * mult);
}
public void multiplyBy(Color c) {
this.red = this.red * c.red;
this.green = this.green * c.green;
this.blue = this.blue * c.blue;
}
public Color getNegative() {
return new Color(1 - red, 1 - green, 1 - blue);
}
public Color divide(double divisor) {
return new Color(red / divisor, green / divisor, blue / divisor);
}
public Color getReciprocal() {
return new Color(1 / red, 1 / green, 1 / blue);
}
public String toString() {
return red + " " + green + " " + blue;
}
public Color copyColor() {
return new Color(red, green, blue);
}
public double getRed() {
return red;
}
public double getGreen() {
return green;
}
public double getBlue() {
return blue;
}
public void changeColor(double red, double green, double blue) {
this.red = red;
this.green = green;
this.blue = blue;
}
public void addTo(Color c) {
this.red = c.red + this.red;
this.green = c.green + this.green;
this.blue = c.blue + this.blue;
}
public void subtractFrom(Color c) {
this.red = c.red - this.red;
this.green = c.green - this.green;
this.blue = c.blue - this.blue;
}
}