Java tutorial
//package com.java2s; /* * K-scope * Copyright 2012-2013 RIKEN, Japan * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Version to work with SSHconnect. */ import java.awt.Color; public class Main { public static Color getGradientHsbColor(float ratio, Color minColor, Color maxColor) { float[] startHSB = Color.RGBtoHSB(minColor.getRed(), minColor.getGreen(), minColor.getBlue(), null); float[] endHSB = Color.RGBtoHSB(maxColor.getRed(), maxColor.getGreen(), maxColor.getBlue(), null); float brightness = (startHSB[2] + endHSB[2]) / 2; float saturation = (startHSB[1] + endHSB[1]) / 2; float hueMax = 0; float hueMin = 0; // if (startHSB[0] > endHSB[0]) { hueMax = startHSB[0]; hueMin = endHSB[0]; // } else { // hueMin = startHSB[0]; // hueMax = endHSB[0]; // } float hue = ((hueMax - hueMin) * (1.0F - ratio)) + hueMin; return Color.getHSBColor(hue, saturation, brightness); } }