Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- float max (float r , float g , float b)
- {
- if (r > g && r > b) return r ;
- if (g > r && g > b) return g ;
- if (b > r && b > g) return b ;
- }
- float min (float r , float g , float b)
- {
- if (r < g && r < b) return r ;
- if (g < r && g < b) return g ;
- if (b < r && b < g) return b ;
- }
- float hue (float r , float g , float b)
- {
- r /= 255 ;
- g /= 255 ;
- b /= 255 ;
- float mx = max (r , g , b) , mn = min (r , g , b);
- if (mx == b) return (60 * (r - g) / (mx - mn)) ;
- else if (mx == g) return (60 * (b - r) / (mx - mn) + 120) ;
- else if (mx == r)
- {
- if (g < b) return (60 * (g - b) / (mx - mn) + 360) ;
- else if (g >= b) return (60 * (g - b) / (mx - mn)) ;
- }
- }
- int main ()
- {
- float r , g , b ;
- printf ("Insira as componentes RGB: ") ;
- scanf ("%f %f %f" , &r , &g , &b) ;
- printf ("RGB=(%.f, %.f, %.f) <=> HSV=(%.3f, %.3f, %.3f)" , r , g , b , hue(r , g , b) , (max (r / 255 , g / 255 , b / 255) - min (r / 255 , g / 255 , b / 255)) / max (r / 255 , g / 255 , b / 255) , max (r / 255 , g / 255 , b / 255)) ;
- return 0 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment