static void Main(string[] args) { if (!ModuleInitializer.VipsInitialized) { Console.WriteLine("Error: Unable to init libvips. Please check your PATH environment variable."); Console.ReadLine(); return; } Console.WriteLine($"libvips {NetVips.Version(0)}.{NetVips.Version(1)}.{NetVips.Version(2)}"); Console.WriteLine( $"Type a number (1-{Samples.Count}) to execute a sample of your choice. Press <Enter> or type 'Q' to quit."); DisplayMenu(); string input; do { string[] sampleArgs = Array.Empty <string>(); if (args.Length > 0) { var sampleId = Samples.Select((value, index) => new { Index = index + 1, value.Name }) .FirstOrDefault(s => s.Name.Equals(args[0]))?.Index; input = sampleId != null ? $"{sampleId}" : "0"; sampleArgs = args.Skip(1).ToArray(); } else { input = Console.ReadLine(); } if (int.TryParse(input, out var userChoice) && TryGetSample(userChoice, out var sample)) { Console.WriteLine($"Executing sample: {sample.Name}"); var result = sample.Execute(sampleArgs); Console.WriteLine("Sample successfully executed!"); if (result != null) { Console.WriteLine($"Result: {result}"); } } else { Console.WriteLine("Sample doesn't exists, try again"); } // Clear any arguments args = Array.Empty <string>(); } while (!string.IsNullOrEmpty(input) && !string.Equals(input, "Q", StringComparison.OrdinalIgnoreCase)); }
/// <summary> /// Initializes the module. /// </summary> public static void Initialize() { try { VipsInitialized = NetVips.Init(); if (VipsInitialized) { Version = NetVips.Version(0, false); Version = (Version << 8) + NetVips.Version(1, false); Version = (Version << 8) + NetVips.Version(2, false); } else { Exception = new VipsException("unable to initialize libvips"); } } catch (Exception e) { VipsInitialized = false; Exception = e; } }