private void OnBaseImageSelected(BaseImageSelected message) { TileResolutions = CreateTileResolutions(); ImageResolutions = CreateImageResolutions(message); SelectedTileResolution = TileResolutions.First(); SelectedImageResolution = ImageResolutions.First(); }
private static ImageResolution[] CreateImageResolutions(BaseImageSelected message) { // it shouldn't be performed at UI thread var image = Image.FromFile(message.Path); var ratio = image.Width / (float)image.Height; var numberOfTilesVertically = new[] { 50, 75, 100, 125, 150, 175, 200 }; return(numberOfTilesVertically.Select(x => new ImageResolution((int)(x * ratio), x)).ToArray()); }
private void OnBaseImageChanged(BaseImageSelected message) { _baseImagePath = message.Path; CanExecuteChanged?.Invoke(this, EventArgs.Empty); }