Mega Code Archive

 
Categories / C# / 2D Graphics
 

Color representation in h,s,v with h = [0 - 360], s,v = [0 0 - 1 0]

//GNU General Public License version 2 (GPLv2) //http://dotwayutilities.codeplex.com/license using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dotway.WPF.Controls.Utilities {     /// <summary>     /// Color representation in h,s,v with h = [0 - 360], s,v = [0.0 - 1.0].     /// </summary>     public struct HSV     {         public HSV(double hue, double saturation, double value)         {             h = 0.0;             s = 0.0;             v = 0.0;             H = hue;             S = saturation;             V = value;         }         private double h;         public double H         {             get { return h; }             set             {                 if (value >= 0 && value <= 360)                 {                     h = value;                 }                 else                 {                     throw new ArgumentOutOfRangeException("H is not in the span [0, 360].");                 }             }         }         private double s;         public double S         {             get { return s; }             set             {                 if (value >= 0.0 && value <= 1.0)                 {                     s = value;                 }                 else                 {                     throw new ArgumentOutOfRangeException("S is not in the span [0, 1].");                 }             }         }         private double v;         public double V         {             get { return v; }             set             {                 if (value >= 0.0 && value <= 1.0)                 {                     v = value;                 }                 else                 {                     throw new ArgumentOutOfRangeException("V is not in the span [0, 1].");                 }             }         }     } }