public ChainLink(double scale = 0.5) { FrameMargin = 50; FrameThickness = 40; InnerFrameThickness = 25; FillColor = new MagickColor("white"); FrameColor = new MagickColor("#00a8fe"); TagColor = new MagickColor("black"); LineColor = new MagickColor("#00a8fe"); OuterLockColor = new MagickColor("#00a8fe"); TextColor = new MagickColor("black"); InnerFrameColor = new MagickColor("#eeeeee"); //FrameColor = new MagickColor("#dc3737"); //FillColor = new MagickColor("black"); //InnerFrameColor = new MagickColor("#444444"); //TextColor = new MagickColor("white"); //LineColor = new MagickColor("#dc3737"); //OuterLockColor = new MagickColor("#dc3737"); //TagColor = new MagickColor("white"); var outer_lock_native_color = OuterLockColor.ToColor(); ColorUtils.ColorToHSV(OuterLockColor, out double hue, out double saturation, out double value); //InnerLockColor = new MagickColor(string.Format("hsb({0},{1},{2})", outer_h + 0.09, outer_s + 0.03, outer_l - 0.03)); //InnerLockColor = ColorUtils.ColorFromHSV(hue, saturation + 0.05, value - 0.1); //InnerLockColor = new MagickColor("white"); //InnerLockColor = MagickColor. SetScale(scale); }
public static void ColorToHSV(MagickColor color, out double hue, out double saturation, out double value) { int max = Math.Max(color.R, Math.Max(color.G, color.B)); int min = Math.Min(color.R, Math.Min(color.G, color.B)); hue = color.ToColor().GetHue(); saturation = (max == 0) ? 0 : 1d - (1d * min / max); value = max / 255d; }