コード例 #1
0
        public void SetFromArgs(string[] args)
        {
            if (args.Length == 1 && (args[0] == "?" || args[0] == "help"))
            {
                Console.WriteLine("-r imageWidth imageHeight");
                Console.WriteLine("-s left right top bottom");
                Console.WriteLine("-fn filename");
                Console.WriteLine("-c ColorCurve");
                Console.WriteLine("-i iterations");
                Environment.Exit(0);
            }

            for (int i = 0; i < args.Length; i++)
            {
                if (args[i] == "-r" || args[i] == "-res" || args[i] == "-resolution")
                {
                    ImageWidth  = int.Parse(args[++i]);
                    ImageHeight = int.Parse(args[++i]);
                }

                if (args[i] == "-i")
                {
                    Iterations = int.Parse(args[++i]);
                }

                if (args[i] == "-s")
                {
                    MandelbrotSection = new Rect(
                        MathExtension.MapRange(double.Parse(args[++i]), 0, 1, -2, 1),
                        MathExtension.MapRange(double.Parse(args[++i]), 0, 1, -2, 1),
                        MathExtension.MapRange(double.Parse(args[++i]), 0, 1, -1, 1),
                        MathExtension.MapRange(double.Parse(args[++i]), 0, 1, -1, 1));
                }

                if (args[i] == "-c")
                {
                    ColorCurve = ColorCurve.Parse(args[++i]);
                }
            }
        }
コード例 #2
0
 private static Color GetColor(double value, double maxValue)
 => Settings.Global.ColorCurve.Sample(MathExtension.MapRange(value, 0, maxValue, 0, 1));