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); } }
/// <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; }