Creates a color that is the darker version of the color parameter c. - Java 2D Graphics

Java examples for 2D Graphics:Color

Description

Creates a color that is the darker version of the color parameter c.

Demo Code

/*//from  w  w w. j a  v a  2s. c om
 * Copyright (c) 2002 and later by MH Software-Entwicklung. All Rights Reserved.
 *  
 * JTattoo is multiple licensed. If your are an open source developer you can use
 * it under the terms and conditions of the GNU General Public License version 2.0
 * or later as published by the Free Software Foundation.
 *  
 * see: gpl-2.0.txt
 * 
 * If you pay for a license you will become a registered user who could use the
 * software under the terms and conditions of the GNU Lesser General Public License
 * version 2.0 or later with classpath exception as published by the Free Software
 * Foundation.
 * 
 * see: lgpl-2.0.txt
 * see: classpath-exception.txt
 * 
 * Registered users could also use JTattoo under the terms and conditions of the 
 * Apache License, Version 2.0 as published by the Apache Software Foundation.
 *  
 * see: APACHE-LICENSE-2.0.txt
 */
//package com.java2s;
import java.awt.Color;

public class Main {
    /**
     * Creates a color that is the darker version of the color parameter c. 
     * 
     * @param c the color 
     * @param p the factor to shade the color c in percent from 0 to 100
     * 
     * @return a new color value that is a darker version of the color parameter c
     */
    public static Color darker(Color c, double p) {
        if (c == null) {
            return null;
        }

        double r = c.getRed();
        double g = c.getGreen();
        double b = c.getBlue();

        r -= (r * p) / 100.0;
        g -= (g * p) / 100.0;
        b -= (b * p) / 100.0;

        return createColor((int) r, (int) g, (int) b);
    }

    /**
     * Creates a color object.
     * 
     * @param r the Red component
     * @param g the Green component
     * @param b the Blue component
     * 
     * @return a color object
     */
    public static Color createColor(int r, int g, int b) {
        return new Color(((r & 0xFF) << 16) | ((g & 0xFF) << 8)
                | ((b & 0xFF)));
    }
}

Related Tutorials