Source Code : HSV to RGB

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

HSV to RGB

      
//package org.boticelli.util;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class ColorHelper
{
    private final static int H_STEPS = 12;

    private final static int S_STEPS = 3;

    private final static float S_STEP_VALUE = 0.05f;

    private final static float S_MIN_VALUE = 0.15f;

    private final static List<String> staticColors ;

    static
    {
        List<String> colors = new ArrayList<String>();
        float v = 1.0f;
        for (int j = 0; j < H_STEPS; j++)
        {
            float h = j * 6.0f / H_STEPS;
            for (int i = 0; i < S_STEPS; i++)
            {
                float s = S_MIN_VALUE + (i * S_STEP_VALUE);

                float[] rgb = HSVtoRGB(h, s, v);

                int r = (int) (rgb[0] * 255.0f);
                int g = (int) (rgb[1] * 255.0f);
                int b = (int) (rgb[2] * 255.0f);

                String col = Integer.toHexString((r << 16) + (g << 8) + b);
                col = "000000".substring(col.length()) + col;
                colors.add("#"+col);
            }
        }
        
        staticColors = Collections.unmodifiableList(colors);
    }
    
    public int  getColorIndexFor(String ident)
    {
        return Math.abs(ident.hashCode()) % staticColors.size(); 
    }

    public static float[] HSVtoRGB(float h, float s, float v)
    {
        // H is given on [0->6] or -1. S and V are given on [0->1].
        // RGB are each returned on [0->1].
        float m, n, f;
        int i;

        float[] hsv = new float[3];
        float[] rgb = new float[3];

        hsv[0] = h;
        hsv[1] = s;
        hsv[2] = v;

        if (hsv[0] == -1)
        {
            rgb[0] = rgb[1] = rgb[2] = hsv[2];
            return rgb;
        }
        i = (int) (Math.floor(hsv[0]));
        f = hsv[0] - i;
        if (i % 2 == 0)
        {
            f = 1 - f; // if i is even
        }
        m = hsv[2] * (1 - hsv[1]);
        n = hsv[2] * (1 - hsv[1] * f);
        switch (i)
        {
            case 6:
            case 0:
                rgb[0] = hsv[2];
                rgb[1] = n;
                rgb[2] = m;
                break;
            case 1:
                rgb[0] = n;
                rgb[1] = hsv[2];
                rgb[2] = m;
                break;
            case 2:
                rgb[0] = m;
                rgb[1] = hsv[2];
                rgb[2] = n;
                break;
            case 3:
                rgb[0] = m;
                rgb[1] = n;
                rgb[2] = hsv[2];
                break;
            case 4:
                rgb[0] = n;
                rgb[1] = m;
                rgb[2] = hsv[2];
                break;
            case 5:
                rgb[0] = hsv[2];
                rgb[1] = m;
                rgb[2] = n;
                break;
        }

        return rgb;

    }
    
    public static List<String> getColors()
    {
        return staticColors;
    }
}

   
    
    
    
    
    
  

Thank with us