Derives a color by adding the specified offsets to the base color's hue, saturation, and brightness values : Color « 2D Graphics « Java Tutorial






/*
 * Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *   - Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *
 *   - Redistributions in binary form must reproduce the above copyright
 *     notice, this list of conditions and the following disclaimer in the
 *     documentation and/or other materials provided with the distribution.
 *
 *   - Neither the name of Sun Microsystems nor the names of its
 *     contributors may be used to endorse or promote products derived
 *     from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

import java.awt.Color;
/**
*
* @author aim
*/
public class Utils {
  /**
   * Derives a color by adding the specified offsets to the base color's 
   * hue, saturation, and brightness values.   The resulting hue, saturation,
   * and brightness values will be contrained to be between 0 and 1.
   * @param base the color to which the HSV offsets will be added
   * @param dH the offset for hue
   * @param dS the offset for saturation
   * @param dB the offset for brightness
   * @return Color with modified HSV values
   */
  public static Color deriveColorHSB(Color base, float dH, float dS, float dB) {
      float hsb[] = Color.RGBtoHSB(
              base.getRed(), base.getGreen(), base.getBlue(), null);

      hsb[0] += dH;
      hsb[1] += dS;
      hsb[2] += dB;
      return Color.getHSBColor(
              hsb[0] < 0? 0 : (hsb[0] > 1? 1 : hsb[0]),
              hsb[1] < 0? 0 : (hsb[1] > 1? 1 : hsb[1]),
              hsb[2] < 0? 0 : (hsb[2] > 1? 1 : hsb[2]));
                                             
  }
}








16.10.Color
16.10.1.java.awt.Color
16.10.2.Drawing with Color
16.10.3.To compare two Color objects you can use the equals() method
16.10.4.Color class is used to work with colors in Java 2D
16.10.5.Using the getRGB() method for comparing colors
16.10.6.Convert RGB to HSB
16.10.7.Convert HSB to RGB value
16.10.8.Construct Color objectConstruct Color object
16.10.9.Constructs several colors and draws various objects using these colors:Constructs several colors and draws various objects using these colors:
16.10.10.Java Predefined Colors
16.10.11.Using color with and Bit andUsing color with and Bit and
16.10.12.Color Factory
16.10.13.Convert an integer to an HTML RGB value
16.10.14.Converts a given string into a color.
16.10.15.HTML color and Java Color
16.10.16.Converts the String representation of a color to an actual Color object.
16.10.17.Get HTML Color String from Java Color object
16.10.18.Derives a color by adding the specified offsets to the base color's hue, saturation, and brightness values
16.10.19.Set XOR mode to color blue
16.10.20.Map colors into names and vice versa.