Returns a color value which is the media between the colors c1 and c1 - Java 2D Graphics

Java examples for 2D Graphics:Color

Description

Returns a color value which is the media between the colors c1 and c1

Demo Code

/*/*from   www .  j a v  a  2  s . 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 {
    /**
     * Returns a color value which is the media between the colors c1 and c1
     * 
     * @param c1 the first color 
     * @param c2 the second color
     * 
     * @return the median color value of the two colors c1 and c1
     */
    public static Color median(Color c1, Color c2) {
        if ((c1 == null || c2 == null)) {
            return null;
        }

        int r = (c1.getRed() + c2.getRed()) / 2;
        int g = (c1.getGreen() + c2.getGreen()) / 2;
        int b = (c1.getBlue() + c2.getBlue()) / 2;
        return createColor(r, g, 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