示例#1
0
        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}");
        }
示例#2
0
        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}");
        }