Here you can find the source of getDarkColors(Color[] colors, double fraction)
public static Color[] getDarkColors(Color[] colors, double fraction)
//package com.java2s; /*//from ww w .j av a2 s . c o m Storybook: Scene-based software for novelists and authors. Copyright (C) 2008 - 2011 Martin Mustun This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ import java.awt.Color; public class Main { public static Color[] getDarkColors(Color[] colors, double fraction) { Color[] darkColors = new Color[colors.length]; int i = 0; for (Color color : colors) { darkColors[i] = darker(color, fraction); ++i; } return darkColors; } /** * Make a color darker. * * @param color * Color to make darker. * @param fraction * Darkness fraction. * @return Darker color. */ public static Color darker(Color color, double fraction) { int red = (int) Math.round(color.getRed() * (1.0 - fraction)); int green = (int) Math.round(color.getGreen() * (1.0 - fraction)); int blue = (int) Math.round(color.getBlue() * (1.0 - fraction)); if (red < 0) red = 0; else if (red > 255) red = 255; if (green < 0) green = 0; else if (green > 255) green = 255; if (blue < 0) blue = 0; else if (blue > 255) blue = 255; int alpha = color.getAlpha(); return new Color(red, green, blue, alpha); } }