示例#1
0
        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);
        }
示例#2
0
        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;
        }