Exemple #1
0
 static void DoBindings(StandardKernel di, IEnumerable<string> restrictedWords, CommandLineArgs clargs)
 {
     di.Bind<WordNormalizator>().To<SimpleNormalizator>()
         .WithConstructorArgument("restricted", restrictedWords);
     di.Bind<WordDrawingStyle>().To<SimpleWordDrawingStyle>();
     di.Bind<RenderTarget>().To<ImageFileRenderTarget>()
         .WithConstructorArgument(typeof(ImageFormat), ImageFormat.Png)
         .WithConstructorArgument(typeof(string), clargs.OutputFile)
         .WithConstructorArgument("width", clargs.Width)
         .WithConstructorArgument("height", clargs.Height);
     di.Bind<Hunspell>().ToConstant(new Hunspell(clargs.AffFile, clargs.DicFile));
 }
Exemple #2
0
        static void Main(string[] args)
        {
            var clargs = new CommandLineArgs();
            if (!Parser.Default.ParseArguments(args, clargs))
                return;

            if (string.IsNullOrWhiteSpace(clargs.OutputFile))
                clargs.OutputFile = Path.ChangeExtension(clargs.InputFile, ".png");

            var restrictedWordsString = "";
            try
            {
                restrictedWordsString = File.ReadAllText(clargs.RestrictedFileName);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Не удалось загрузить файл '{clargs.RestrictedFileName}' - {ex.Message}");
            }
            var restrictedWords = restrictedWordsString.ToUpperInvariant().Split();

            var di = new StandardKernel();
            DoBindings(di, restrictedWords, clargs);

            try
            {
                Console.WriteLine("Drawing ...");
                CloudDrawingPipeline.DrawCloud(
                    DefaultWordsCollectionBuilder.BuildWordCollection,
                    di.Get<WordNormalizator>(),
                    FileWordsExtractor.GetWordsFromFile(clargs.InputFile),
                    PackingCloudBuilder.BuildCloud,
                    di.Get<WordRenderer>(),
                    di.Get<RenderTarget>());
                Console.WriteLine("Done!");
            }
            catch (FileNotFoundException ex)
            {
                Console.WriteLine($"Файл не найден - '{ex.FileName}'");
            }
            catch (DllNotFoundException ex)
            {
                Console.WriteLine($"Библиотека не найдена - '{ex.Message}'");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }