private void CreateImages(string sBaseImagePath) { var vOutPath = AppDomain.CurrentDomain.BaseDirectory; var vFileName = Path.GetFileNameWithoutExtension(sBaseImagePath); var vImageOutPath = vOutPath + @"\" + vFileName; Directory.CreateDirectory(vOutPath); var log = false; var verbose = false; var quiet = false; Logger.Init(vOutPath, log, verbose, quiet); Logger.WriteLine("Begin Resizing Images!"); Logger.WriteVerbose("Writing files to {0}", vOutPath); if (chkiOS.Checked) { var viOSOutputPath = vImageOutPath + @"\iOSImages"; Directory.CreateDirectory(viOSOutputPath); Logger.WriteVerbose("Created directory {0} for iOS Images", viOSOutputPath); var viOSizesFile = vOutPath + @"\SizeJsons\iOSizes.json"; var vLoadedFileJson = File.ReadAllText(viOSizesFile); var viOsSizes = JsonConvert.DeserializeObject<IEnumerable<AppImage>>(vLoadedFileJson).OrderBy(x => x.Width); for (int iCount = 0; iCount < chkLstiOS.CheckedItems.Count; iCount++) { var vSelSize = chkLstiOS.CheckedItems[iCount].ToString(); var vSelectedImage = (from SelImage in viOsSizes where SelImage.ImageName == vSelSize select SelImage).SingleOrDefault(); Logger.WriteVerbose("Creating Image for {0} of iOS Images", vSelSize); var vNewImageName = viOSOutputPath + "\\" + vFileName + vSelectedImage.ImageName + ".png"; var width = Convert.ToInt32(vSelectedImage.Width); var height = Convert.ToInt32(vSelectedImage.Height); if (!ckbWidth.Checked || !ckbHeight.Checked) { var imageBase = Image.FromFile(sBaseImagePath); if (ckbWidth.Checked) { height = width * imageBase.Height / imageBase.Width; } else { width = height * imageBase.Width / imageBase.Height; } } var vNewIMage = Scale(width, height, sBaseImagePath); vNewIMage.Save(vNewImageName); Logger.WriteVerbose("Created Image for {0} of iOS Images", vSelSize); } if (chkLstiOS.CheckedItems.Count > 0) { var vSelectedImage = viOsSizes.Last(); Logger.WriteVerbose("Creating Image for last of iOS Images"); var vNewImageName = viOSOutputPath + "\\" + vFileName + ".png"; var width = Convert.ToInt32(vSelectedImage.Width); var height = Convert.ToInt32(vSelectedImage.Height); if (!ckbWidth.Checked || !ckbHeight.Checked) { var imageBase = Image.FromFile(sBaseImagePath); if (ckbWidth.Checked) { height = width * imageBase.Height / imageBase.Width; } else { width = height * imageBase.Width / imageBase.Height; } } var vNewIMage = Scale(width, height, sBaseImagePath); vNewIMage.Save(vNewImageName); Logger.WriteVerbose("Created Image for last of iOS Images"); } lbliOSTitle.Visible = true; lbliOSValue.Text = viOSOutputPath; lbliOSValue.Visible = true; } if (chkAndroid.Checked) { var vAndroidPath = vImageOutPath + @"\AndroidImages"; Directory.CreateDirectory(vAndroidPath); Logger.WriteVerbose("Created directory {0} for Android Images", vAndroidPath); var vDroidSizesFile = vOutPath + @"\SizeJsons\AndroidSizes.json"; var vDroidSizeJson = File.ReadAllText(vDroidSizesFile); var vDroidSizes = JsonConvert.DeserializeObject<IEnumerable<AppImage>>(vDroidSizeJson).OrderBy(x => x.Width); for (int iCount = 0; iCount < chlLstAndroid.CheckedItems.Count; iCount++) { var vSelSize = chlLstAndroid.CheckedItems[iCount].ToString(); var vSelectedImage = (from SelImage in vDroidSizes where SelImage.ImageName == vSelSize select SelImage).SingleOrDefault(); Logger.WriteVerbose("Creating Image for {0} of Android Images", vSelSize); var imagePath = Path.Combine(vAndroidPath, vSelectedImage.Path); Directory.CreateDirectory(imagePath); var vNewImageName = imagePath + "\\" + vFileName + ".png"; var width = Convert.ToInt32(vSelectedImage.Width); var height = Convert.ToInt32(vSelectedImage.Height); if (!ckbWidth.Checked || !ckbHeight.Checked) { var imageBase = Image.FromFile(sBaseImagePath); if (ckbWidth.Checked) { height = width * imageBase.Height / imageBase.Width; } else { width = height * imageBase.Width / imageBase.Height; } } var vNewIMage = Scale(width, height, sBaseImagePath); vNewIMage.Save(vNewImageName); Logger.WriteVerbose("Created Image for {0} of Android Images", vSelSize); } if (chlLstAndroid.CheckedItems.Count > 0) { var vSelectedImage = vDroidSizes.Last(); Logger.WriteVerbose("Creating Image for last of Android Images"); var vNewImageName = vAndroidPath + "\\" + vFileName + ".png"; var width = Convert.ToInt32(vSelectedImage.Width); var height = Convert.ToInt32(vSelectedImage.Height); if (!ckbWidth.Checked || !ckbHeight.Checked) { var imageBase = Image.FromFile(sBaseImagePath); if (ckbWidth.Checked) { height = width * imageBase.Height / imageBase.Width; } else { width = height * imageBase.Width / imageBase.Height; } } var vNewIMage = Scale(width, height, sBaseImagePath); vNewIMage.Save(vNewImageName); Logger.WriteVerbose("Created Image for last of Android Images"); } lblAndroid.Visible = true; lblAndroidValue.Text = vAndroidPath; lblAndroidValue.Visible = true; } if (chkUwp.Checked) { var vUwpPath = vImageOutPath + @"\UwpImages"; Directory.CreateDirectory(vUwpPath); Logger.WriteVerbose("Created directory {0} for Uwp Images", vUwpPath); var vUwpSizesFile = vOutPath + @"\SizeJsons\UwpSizes.json"; var vUwpSizeJson = File.ReadAllText(vUwpSizesFile); var vUwpSizes = JsonConvert.DeserializeObject<IEnumerable<AppImage>>(vUwpSizeJson).OrderBy(x => x.Width); for (int iCount = 0; iCount < chkLstUwp.CheckedItems.Count; iCount++) { var vSelSize = chkLstUwp.CheckedItems[iCount].ToString(); var vSelectedImage = (from SelImage in vUwpSizes where SelImage.ImageName == vSelSize select SelImage).SingleOrDefault(); Logger.WriteVerbose("Creating Image for {0} of UWP Images", vSelSize); var vNewImageName = vUwpPath + "\\" + vFileName + vSelectedImage.ImageName + ".png"; var width = Convert.ToInt32(vSelectedImage.Width); var height = Convert.ToInt32(vSelectedImage.Height); if (!ckbWidth.Checked || !ckbHeight.Checked) { var imageBase = Image.FromFile(sBaseImagePath); if (ckbWidth.Checked) { height = width * imageBase.Height / imageBase.Width; } else { width = height * imageBase.Width / imageBase.Height; } } var vNewIMage = Scale(width, height, sBaseImagePath); vNewIMage.Save(vNewImageName); Logger.WriteVerbose("Created Image for {0} of UWP Images", vSelSize); } if (chkLstUwp.CheckedItems.Count > 0) { var vSelectedImage = vUwpSizes.Last(); Logger.WriteVerbose("Creating Image for last of UWP Images"); var vNewImageName = vUwpPath + "\\" + vFileName + ".png"; var width = Convert.ToInt32(vSelectedImage.Width); var height = Convert.ToInt32(vSelectedImage.Height); if (!ckbWidth.Checked || !ckbHeight.Checked) { var imageBase = Image.FromFile(sBaseImagePath); if (ckbWidth.Checked) { height = width * imageBase.Height / imageBase.Width; } else { width = height * imageBase.Width / imageBase.Height; } } var vNewIMage = Scale(width, height, sBaseImagePath); vNewIMage.Save(vNewImageName); Logger.WriteVerbose("Created Image for last of UWP Images"); } lblUWPTitle.Visible = true; lblUWPValues.Text = vUwpPath; lblUWPValues.Visible = true; } }