public void MosaicGenerator_Test_END_TO_END()
        {
            var _mosaicGenerator = new MosaicGenerator();
            var srcImage = "..\\..\\..\\ImageMosaicTest\\144146014.jpg";
            var imageFolder = "..\\..\\..\\ImageMosaicTest\\TestImages\\entertainment";

            var _mosaic = _mosaicGenerator.Generate(srcImage,imageFolder );

            _mosaic.Image.Save(string.Format("c:\\Temp\\{0}.jpg", Guid.NewGuid().ToString("N")));
            _mosaic.Image.Dispose();
        }
        public void MosaicGenerator_Test_END_TO_END()
        {
            var _mosaicGenerator = new MosaicGenerator();
            var srcImage         = "..\\..\\..\\ImageMosaicTest\\144146014.jpg";
            var imageFolder      = "..\\..\\..\\ImageMosaicTest\\TestImages\\entertainment";

            var _mosaic = _mosaicGenerator.Generate(srcImage, imageFolder);

            _mosaic.Image.Save(string.Format("c:\\Temp\\{0}.jpg", Guid.NewGuid().ToString("N")));
            _mosaic.Image.Dispose();
        }
示例#3
0
        public async void Execute(object parameter)
        {
            var sourceDirectory = new SourceDirectory(_sourceDirectoryPaths);
            var outputDirectory = new OutputDirectory(_outputDirectoryPath);

            var progressNotificator = new ProgressNotificator(_eventAggregator);
            var generator           = new MosaicGenerator(sourceDirectory, outputDirectory, progressNotificator);

            NoImagesFoundException        noImageFoundException         = null;
            OutputImageIsToLargeException outputImageIsToLargeException = null;
            await Task.Run(() =>
            {
                try
                {
                    generator.Generate(_baseImagePath, _imageResolution.NumberOfTilesHorizaontally, _imageResolution.NumberOfTilesVertically, _tileResolution.Resolution);
                }
                catch (NoImagesFoundException e)
                {
                    noImageFoundException = e;
                }
                catch (OutputImageIsToLargeException e)
                {
                    outputImageIsToLargeException = e;
                }
            });

            if (noImageFoundException != null)
            {
                _eventAggregator.Publish(new NoImagesFound());
                return;
            }

            if (outputImageIsToLargeException != null)
            {
                _eventAggregator.Publish(new OutputImageIsToLarge());
                return;
            }

            _eventAggregator.Publish(new MosaicGeneratedSuccessfully());
        }