SYNOPSIS

#include <allegro.h>

void hsv_to_rgb(float h, float s, float v, int *r, int *g, int *b);

void rgb_to_hsv(int r, int g, int b, float *h, float *s, float *v);

DESCRIPTION

Convert color values between the HSV and RGB color spaces. The RGB values range from 0 to 255, hue is from 0 to 360, and saturation and value are from 0 to 1. Example:

   int r, g, b;
   float hue, saturation, value;
   ...
   /* Convert a reddish color to HSV format. */
   rgb_to_hsv(255, 0, 128, &hue, &saturation, &value);

   /* Now put our tin foil hat, and verify that. */
   hsv_to_rgb(hue, saturation, value, &r, &g, &b);
   ASSERT(r == 255);
   ASSERT(g == 0);
   ASSERT(b == 128);

RELATED TO hsv_to_rgb…

exlights(3alleg4), exrgbhsv(3alleg4)