public void Run() { var text = GetInputFromUserFilePathAndRead(); var(wordsToSkip, wordCount) = GetInputFromUserPreparerSettings(); var preparer = preparerFactory(wordsToSkip); var frequencies = PerformAndReport("Обработка текста", () => preparer.CreateWordFreqList(text, wordCount)); var algorithm = GetInputFromUserGenerationAlgorithm(); var graphicStrings = PerformAndReport("Генерация облака", () => algorithm(frequencies)); var palette = GetInputFromUserPalette(); var font = GetInputFromUserFont(); var painter = painterFactory(palette, font); var img = Result.RepeatUntilOk(() => { var size = GetInputFromUserSize(); return(painter.Paint(graphicStrings, size)); }, Console.WriteLine).Value; var pathToSave = GetInputFromUserUntilCorrect("путь по которому сохранить изображение", Saver.IsPathCorrect, "путь неверный"); Saver.SaveImage(img, pathToSave); Console.WriteLine($"Изображение сохранено в {pathToSave}"); }
public void Run() { var prepared = PrepareWords(); var graphicStrings = GenerateCloud(prepared); var palette = EnterPalette(); var painter = painterFactory(palette); var img = PerformAndReport("Рисование облака", () => painter.Paint(graphicStrings)); var pathToSave = AskUntilCorrect("путь по которому сохранить изображение", Saver.IsPathCorrect, "путь неверный"); Saver.SaveImage(img, pathToSave); Console.WriteLine($"Изображение сохранено в {pathToSave}"); }