private void CreateCollage(CollageSettings settings) { this.collage = new CollageGenerator(settings); collage.CreateCompleted += this.collage_CreateCompleted; collage.CreateProgressChanged += this.collage_CreateProgressChanged; collage.CreateAsync(); }
private void btnCollage_Click(object sender, EventArgs e) { if (imagesList == null || imagesList.Count == 0) { ShowInformation("Изображения не выбраны"); return; } ShowInformation("Создается коллаж..."); DisableControls(); var settings = new CollageSettings( new CollageDimensionSettings { NumberOfColumns = Convert.ToInt32(nudColumns.Value), NumberOfRows = Convert.ToInt32(nudRows.Value), TileHeight = Convert.ToInt32(nudItemHeight.Value), TileWidth = Convert.ToInt32(nudItemWidth.Value), TileScalePercent = new Percentage(Convert.ToInt32(nudScalePercent.Value)) }, imagesList, new DirectoryInfo(folderBrowserDialog1.SelectedPath) ); CreateCollage(settings); }
public CollageGenerator(CollageSettings settings) { if (settings == null) { throw new ArgumentNullException("settings"); } this.settings = settings; this.progressCounter = new ProgressCounter(settings.Dimensions.NumberOfRows, settings.Dimensions.NumberOfColumns); this.randomGenerator = new RandomGenerator(); this.tileTransformer = new TileTransformer(); this.filesEnumerator = new DateFilesEnumerator(settings.InputFiles); this.collageSaver = new CollageSaver(settings.OutputDirectory); }