Package info.monitorenter.gui.util
Class HSBColor
- java.lang.Object
-
- info.monitorenter.gui.util.HSBColor
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
public class HSBColor extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable
Color that internally works with the Hue Saturation Luminance color space.- Version:
- $Revision: 1.7 $
- Author:
- Achim Westermann
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected double
m_alpha
The unused alpha channel between 0 and 255: stored here for allow java.awt.Color instances to be transformed to instances of this class and be re - transformed with preserving their alpha setting.protected double
m_hue
Hue value between 0.0 and 1.0.protected double
m_lum
Luminance value between 0.0 and 1.0.protected double
m_sat
Saturation value between 0.0 and 1.0.
-
Constructor Summary
Constructors Constructor Description HSBColor(java.awt.Color rgbcolor)
Creates an instance transformed from the rgb color.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Clone implementation.boolean
equals(java.lang.Object obj)
java.awt.Color
getRGBColor()
Returns the transformation of this color to the rgb color.int
hashCode()
static HSBColor
rgbToHSB(java.awt.Color color)
Inspired byfloat[] java.awt.Color.RGBtoHSB(int r,int g, int b, float[]hsbvals)
except that algorithm is tuned
Testing results showed about 25% speed up.
-
-
-
Field Detail
-
m_hue
protected double m_hue
Hue value between 0.0 and 1.0.
-
m_lum
protected double m_lum
Luminance value between 0.0 and 1.0.
-
m_sat
protected double m_sat
Saturation value between 0.0 and 1.0.
-
m_alpha
protected double m_alpha
The unused alpha channel between 0 and 255: stored here for allow java.awt.Color instances to be transformed to instances of this class and be re - transformed with preserving their alpha setting.
-
-
Method Detail
-
rgbToHSB
public static HSBColor rgbToHSB(java.awt.Color color)
Inspired byfloat[] java.awt.Color.RGBtoHSB(int r,int g, int b, float[]hsbvals)
except that algorithm is tuned
Testing results showed about 25% speed up. Therefore the sources have become harder to understand.- Parameters:
color
- thejava.awt.Color
(that follows the RGB model) and should be transformed to a color instance in the hue-saturation-luminance model.- Returns:
- the transformed values of the RGB colors in that order: hue,saturation,brightness.
-
clone
public java.lang.Object clone()
Clone implementation.Following statements are true:
x.clone() != x x.clone().getClass() == x.getClass() x.clone().equals(x)
A deep copy of this HSBColor is returned.- Overrides:
clone
in classjava.lang.Object
- Returns:
- an instance copied from this one.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
- See Also:
Object.equals(java.lang.Object)
-
getRGBColor
public java.awt.Color getRGBColor()
Returns the transformation of this color to the rgb color.- Returns:
- the transformation of this color to the rgb color.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
- See Also:
Object.hashCode()
-
-