public RgbColor(byte red, byte green, byte blue) { _rgb = new RgbHash(red, green, blue); _rScale = Convert.ToSingle(red) / 255f; _gScale = Convert.ToSingle(green) / 255f; _bScale = Convert.ToSingle(blue) / 255f; }
public RgbColor(Color color) { _rgb = new RgbHash(color.R, color.G, color.B); _rScale = Convert.ToSingle(color.R) / 255f; _gScale = Convert.ToSingle(color.G) / 255f; _bScale = Convert.ToSingle(color.B) / 255f; }
public RgbColor(float red, float green, float blue) { if (red < 0f || red > 1f) { throw new ArgumentOutOfRangeException("Red scale must be a value from 0.0 to 1.0"); } if (green < 0f || green > 1f) { throw new ArgumentOutOfRangeException("Green scale must be a value from 0.0 to 1.0"); } if (blue < 0f || blue > 1f) { throw new ArgumentOutOfRangeException("Blue scale must be a value from 0.0 to 1.0"); } _rScale = red; _gScale = green; _bScale = blue; _rgb = new RgbHash(Convert.ToByte(Math.Round(red * 255f)), Convert.ToByte(Math.Round(green * 255f)), Convert.ToByte(Math.Round(blue * 255f))); }