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.CloneableColor 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 doublem_alphaThe 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 doublem_hueHue value between 0.0 and 1.0.protected doublem_lumLuminance value between 0.0 and 1.0.protected doublem_satSaturation 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.Objectclone()Clone implementation.booleanequals(java.lang.Object obj)java.awt.ColorgetRGBColor()Returns the transformation of this color to the rgb color.inthashCode()static HSBColorrgbToHSB(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:
clonein classjava.lang.Object- Returns:
- an instance copied from this one.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin 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:
hashCodein classjava.lang.Object- See Also:
Object.hashCode()
-
-