e585. Converting Between RGB and HSB Colors

This example demonstrates how to convert between a color value in RGB (three integer values in the range 0 to 255 representing red, green, and blue) and HSB (three floating point values in the range 0 to 1.0 representing hue, saturation, and brightness).

    // Specify 3 RGB values
    int red = 0x33;
    int green = 0x66;
    int blue = 0x99;
    
    // Convert RGB to HSB
    float[] hsb = Color.RGBtoHSB(red, green, blue, null);
    float hue = hsb[0];          // .58333
    float saturation = hsb[1];   // .66667
    float brightness = hsb[2];   // .6
    
    // Convert HSB to RGB value
    int rgb = Color.HSBtoRGB(hue, saturation, brightness);
    red = (rgb>>16)&0xFF;
    green = (rgb>>8)&0xFF;
    blue = rgb&0xFF;

 

Related Examples
posted @ 2018-09-02 22:02  borter  阅读(142)  评论(0编辑  收藏  举报