Class 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 by float[] java.awt.Color.RGBtoHSB(int r,int g, int b, float[]hsbvals) except that algorithm is tuned
      Testing results showed about 25% speed up.
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • 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.
    • Constructor Detail

      • HSBColor

        public HSBColor​(java.awt.Color rgbcolor)
        Creates an instance transformed from the rgb color.

        Parameters:
        rgbcolor - standard java rgb color.
    • Method Detail

      • rgbToHSB

        public static HSBColor rgbToHSB​(java.awt.Color color)
        Inspired by float[] 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 - the java.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 class java.lang.Object
        Returns:
        an instance copied from this one.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.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 class java.lang.Object
        See Also:
        Object.hashCode()