Esempio n. 1
0
        public ImageEditPreset DeserializePreset(string presetFile)
        {
            if (!File.Exists(presetFile))
            {
                return(null);
            }

            try
            {
                using (TextReader sr = new StreamReader(presetFile))
                    using (var reader = XmlReader.Create(sr))
                    {
                        var serializer = new XmlSerializer(typeof(ImageEditPreset));

                        ImageEditPreset setting = (ImageEditPreset)serializer.Deserialize(reader);

                        return(setting);
                    }
            }
            catch (Exception)
            {
                return(null);
            }
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="preset"></param>
        /// <param name="rocketGameMediaPath">Full path to games rocketlauncher folder I:\RL\Media\MediaType\System\Romname</param>
        /// <param name="outputPath"></param>
        /// <param name="outputFileName"></param>
        /// <param name="isJpg"></param>
        /// <returns></returns>
        public string ConvertImageUsingPreset(
            ImageEditPreset preset,
            string inputImage,
            string outputFileName,
            bool isPng)
        {
            using (var imgIn = Image.FromFile(inputImage))
            {
                Image tempImage  = null;
                Image finalImage = null;

                if (preset.TileEnabled)
                {
                    int tw = preset.TileWidth;
                    int th = preset.TileHeight;

                    if (preset.FlipOn)
                    {
                        tempImage = FlipImage(imgIn, preset.FlipL);
                    }

                    if (tempImage != null)
                    {
                        finalImage = ResizeImageTile(tempImage, new Size(preset.Width, preset.Height));
                    }
                    else
                    {
                        finalImage = ResizeImageTile(imgIn, new Size(preset.Width, preset.Height));
                    }

                    //NOT USED?
                    //tempImage = ResizeImage(imgIn, new Size(tw, th));
                }
                else if (preset.StretchImage)
                {
                    if (preset.FlipOn)
                    {
                        tempImage = FlipImage(imgIn, preset.FlipL);
                    }

                    if (tempImage != null)
                    {
                        finalImage = ResizeImageEdit(tempImage, new Size(preset.Width, preset.Height));
                    }
                    else
                    {
                        finalImage = ResizeImageEdit(imgIn, new Size(preset.Width, preset.Height));
                    }
                }
                else if (preset.ResizeImage)
                {
                    if (preset.FlipOn)
                    {
                        tempImage = FlipImage(imgIn, preset.FlipL);
                    }

                    if (tempImage != null)
                    {
                        finalImage = ResizeImage(tempImage, new Size(preset.Width, preset.Height));
                    }
                    else
                    {
                        finalImage = ResizeImage(imgIn, new Size(preset.Width, preset.Height));
                    }
                }
                else
                {
                    //If this is hit only allow image flips to be rendered.
                    if (preset.FlipOn)
                    {
                        tempImage = FlipImage(imgIn, preset.FlipL);

                        if (tempImage != null)
                        {
                            finalImage = ResizeImage(tempImage, new Size(imgIn.Width, imgIn.Height));
                        }
                        else
                        {
                            finalImage = ResizeImage(imgIn, new Size(imgIn.Width, imgIn.Height));
                        }
                    }
                }

                try
                {
                    if (finalImage == null)
                    {
                        finalImage = imgIn;
                    }

                    if (isPng)
                    {
                        finalImage.Save(outputFileName, System.Drawing.Imaging.ImageFormat.Png);
                    }
                    else
                    {
                        finalImage.Save(outputFileName, System.Drawing.Imaging.ImageFormat.Jpeg);
                    }
                }
                catch (System.Exception)
                {
                }

                return(outputFileName);
            }
        }
        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);
            });
        }
 private void SetUIValuesFromPreset(ImageEditPreset setting)
 {
     CurrentSetting = setting;
 }