Ejemplo n.º 1
0
        public void Process(Settings settings)
        {
            _settings = settings;

            DateTime start = DateTime.Now;

            LoadBlocks();
            LoadMain();
            Spirale spirale = new Spirale(_main.GetBitmap().Size, settings.sizeBlock);
            positions = new List<Position>(spirale.Count);
            for (int i = 0; i < spirale.Count; i++)
            {
                positions.Add(new Position());
                positions[i].errors = new List<double>(_blocks.Count);
                spirale.GetNextBlockRect(out positions[i].rc);
                for (int j = 0; j < _blocks.Count; j++)
                    positions[i].errors.Add(0);
            }

            MeasureAllErrors();

            for (int i = 0; i < positions.Count; i++)
            {
                System.Console.Write("{0:0000} ", i);
                FastBitmap block = FindBestBlock(i);
                _targetDC.DrawImage(block.GetBitmap(), positions[i].rc,
                    new Rectangle(new Point(0, 0), block.GetBitmap().Size), GraphicsUnit.Pixel);
            }

            System.Console.WriteLine("\n Total Time {0} seconds", (DateTime.Now - start).TotalSeconds);

            _target.Save(_settings.pathTarget);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Settings settings  = new Settings();
            settings.pathBlocks = args[0];
            settings.pathMainImage = args[1];
            settings.pathTarget = args[2];

            new Processor().Process(settings);
        }