static void Main(string[] args) { Console.WriteLine("Welcome to image resizer."); Console.WriteLine("Please provide the image directory/folder which needs to be resized."); var folderLocation = Console.ReadLine(); Console.WriteLine("Enter comma separated sizes in pixels. e.g. 200, 300, 400, 1080 etc. We will keep the image aspect reation same."); var sizes = Console.ReadLine(); var imgTool = new ImgTool(); if (!string.IsNullOrEmpty(sizes) && sizes.Length > 0) { var sizeArr = sizes.Split(new char[] { ',' }); var files = Directory.GetFiles(folderLocation, "*.jpg", SearchOption.TopDirectoryOnly); var numberOfImages = files.Length; foreach (var size in sizeArr) { if (int.TryParse(size.Trim(), out int height)) { Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine("Resizing images to ", height); Console.ForegroundColor = ConsoleColor.Gray; foreach (var file in files) { imgTool.ResizeAndSaveImage(file, height); Console.WriteLine(file.Substring(file.LastIndexOf('/')) + " done."); } } } } Console.Read(); }
static void Main(string[] args) { if (args.Any(x => x.ToLower() != "repeating")) { Console.WriteLine("Welcome to image resizer."); } Console.WriteLine("Please provide the image directory/folder which needs to be resized:"); var folderLocation = Console.ReadLine(); if (!Directory.Exists(folderLocation)) { Console.WriteLine("Invalid locatoin."); Main(new string[] { "repeating" }); return; } Console.WriteLine("Enter comma separated sizes in pixels (desired height of image). e.g. 200, 300, 400, 1080 etc. We will keep the image aspect ratio same."); Console.WriteLine("Or choose from one/multiple of below values:"); Console.WriteLine(string.Join(", ", Enum.GetNames(typeof(ImageSizes)))); var sizes = Console.ReadLine(); var imgTool = new ImgTool(); if (!string.IsNullOrEmpty(sizes) && sizes.Length > 0) { var sizeArr = sizes.Split(new char[] { ',' }); var files = Directory.GetFiles(folderLocation, "*.jpg", SearchOption.TopDirectoryOnly); var numberOfImages = files.Length; Console.WriteLine($"Resizing {files.Length} images from the {folderLocation} folder."); foreach (var size in sizeArr) { ImageSizes enumHeight = 0; if (int.TryParse(size.Trim(), out int height) || Enum.TryParse(size.Trim(), out enumHeight)) { height = enumHeight == 0 ? height : (int)enumHeight; var folderName = enumHeight == 0 ? height.ToString() : Enum.GetName(typeof(ImageSizes), enumHeight); Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine("Resizing images to " + height); Console.ResetColor(); foreach (var file in files) { imgTool.ResizeAndSaveImage(file, height, folderName); Console.WriteLine(file.Substring(file.LastIndexOf('\\') + 1) + " done."); } } } } Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine("Done resizing. Resized images are placed in folders {0} under directory {1}", sizes, folderLocation); Console.ResetColor(); Console.WriteLine("Enter any key to exit."); Console.Read(); }