Exemplo n.º 1
0
 private Double Adjust(double value, double adjustment, AdjustmentMode mode)
 {
     if (mode == AdjustmentMode.Multiplication)
         return Coerce(value * adjustment, 0, 1);
     else if (mode == AdjustmentMode.Addition)
         return Coerce(value + adjustment, 0, 1);
     else if (mode == AdjustmentMode.Absolute)
         return Coerce(adjustment, 0, 1);
     else
         return Coerce(value, 0, 1);
 }
Exemplo n.º 2
0
        private char EncodeMode(AdjustmentMode m)
        {
            switch (m)
            {
                case AdjustmentMode.Absolute: return 'A';
                case AdjustmentMode.Addition: return '+';
                case AdjustmentMode.Multiplication: return 'M';
                case AdjustmentMode.None: return 'X';
            }

            return 'X';
        }
Exemplo n.º 3
0
        public ImageProcessor DecodeSettings(String str)
        {
            if (!str.StartsWith("MM|"))
                throw new InvalidOperationException("Unexpected Input!");

            Match exprMatch = Regex.Match(str, @"MM\|ST(?<step>[\-0-9\.]+)\|BC(?<base>[\-0-9]+)\|H(?<hm>(A|M|X|\+){1})(?<ha>[\-0-9\.]+)\|S(?<sm>(A|M|X|\+){1})(?<sa>[\-0-9\.]+)\|L(?<lm>(A|M|X|\+){1})(?<la>[\-0-9\.]+)\|AA(?<aa>[\-0-9\.]+)", RegexOptions.ExplicitCapture);

            if (!exprMatch.Success) throw new Exception();

            this.Step = double.Parse(exprMatch.Result("${step}"));
            this.BaseColor = new ColorRGB(Color.FromArgb(Int32.Parse(exprMatch.Result("${base}"))));
            this.m_hm = DecodeMode(exprMatch.Result("${hm}")[0]);
            this.m_sm = DecodeMode(exprMatch.Result("${sm}")[0]);
            this.m_lm = DecodeMode(exprMatch.Result("${lm}")[0]);

            this.m_ha = Double.Parse(exprMatch.Result("${ha}"));
            this.m_sa = Double.Parse(exprMatch.Result("${sa}"));
            this.m_la = Double.Parse(exprMatch.Result("${la}"));
            this.m_aa = Double.Parse(exprMatch.Result("${aa}"));

            return this;
        }