示例#1
0
        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();
        }
示例#2
0
        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();
        }