private void GeneratePreview()
        {
            try
            {
                var imagePath = Path.GetFullPath(CreateImagePreview(CurrentSetting.Png));

                ImageEditSource =
                    ConvertToImageSource.ImageSourceFromUri(new Uri(imagePath));

                UpdateImagePreviewHeader();
            }
            catch (Exception)
            {
            }
        }
        public CreateImageViewModel(IEventAggregator eventAggregator,
                                    ISettingsHypermint settings, ISelectedService selected, IImageEditService imageEdit)
        {
            _settings  = settings;
            _selected  = selected;
            _imageEdit = imageEdit;

            Author = _settings.HypermintSettings.Author;

            CurrentSetting = new ImageEditPreset
            {
                Width        = 1920,
                Height       = 1080,
                Png          = true,
                Description  = "desc",
                FlipL        = true,
                FlipOn       = true,
                ResizeImage  = true,
                StretchImage = true,
                TileEnabled  = true,
                TileWidth    = 200,
                TileHeight   = 150
            };

            GeneratePreviewCommand = new DelegateCommand(GeneratePreview);

            MediaExportTypes = new ListCollectionView(new List <string>()
            {
                "Layer 1",
                "Layer 2",
                "Layer 3",
                "Extra Layer 1",
                "BezelBg",
                "Background",
            });

            _eventAggregator = eventAggregator;

            _eventAggregator.GetEvent <ImageEditSourceEvent>().Subscribe(x =>
            {
                currentImageFileSource = x;

                ImageEditSource = ConvertToImageSource.ImageSourceFromUri(new Uri(currentImageFileSource));

                UpdateImagePreviewHeader();
            });

            //Return the current UI as a preset
            _eventAggregator.GetEvent <ImagePresetRequestEvent>().Subscribe((x) =>
            {
                _eventAggregator.GetEvent <ImagePresetRequestedEvent>().Publish(CurrentSetting);
            });

            _eventAggregator.GetEvent <ImagePresetUpdateUiEvent>().Subscribe(x =>
            {
                SetUIValuesFromPreset((ImageEditPreset)x);
            });

            SaveImageCommand = new DelegateCommand(() =>
            {
                var outputFileName = CreateNewImageFileName();

                CreateImage(outputFileName, CurrentSetting.Png);
            });
        }