Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 /// <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;
     }
 }