Here you can find the source of darker(Color color, float ratio)
Parameter | Description |
---|---|
color | Color to mix with black. |
ratio | Black ratio (1.0 = complete black, 0.0 = color). |
public static Color darker(Color color, float ratio)
//package com.java2s; /******************************************************************************* * Copyright (c) 2010 BSI Business Systems Integration AG. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors:/*from w ww. j a v a 2 s . com*/ * BSI Business Systems Integration AG - initial API and implementation ******************************************************************************/ import java.awt.Color; public class Main { /** * Make a color darker. * * @param color * Color to mix with black. * @param ratio * Black ratio (1.0 = complete black, 0.0 = color). * @return Darker color. */ public static Color darker(Color color, float ratio) { return mergeColors(Color.BLACK, ratio, color, 1 - ratio); } /** * Merges two colors. The two floating point arguments specify "how much" of the corresponding color is added to the * resulting color. Both arguments should (but don't have to) add to <code>1.0</code>. * <p> * This method is null-safe. If one of the given colors is <code>null</code>, the other color is returned (unchanged). */ public static Color mergeColors(Color a, float fa, Color b, float fb) { if (a == null) { return b; } if (b == null) { return a; } return new Color((fa * a.getRed() + fb * b.getRed()) / (fa + fb) / 255f, (fa * a.getGreen() + fb * b.getGreen()) / (fa + fb) / 255f, (fa * a.getBlue() + fb * b.getBlue()) / (fa + fb) / 255f); } }