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); }
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); }