Example #1
0
        public override void Run(string input, string output, string outputFormat)
        {
            if (!File.Exists(input))
            {
                throw new ArgumentException($"Input file in path '{input}' doesn't exist.");
            }

            var outputPath = GetOutputPath(input, output, outputFormat);

            if (!loader.IsSupportedFile(input))
            {
                var msg = $"Input file '{input}' is not supported.\nSupported input extensions: {string.Join(", ", loader.GetSupportedExtensions())}";
                throw new ArgumentException(msg);
            }

            if (!exporter.IsSupportedFile(outputPath))
            {
                var msg = $"Output file '{outputPath}' is not supported.\nSupported output extensions: {string.Join(", ", exporter.GetSupportedExtensions())}";
                throw new ArgumentException(msg);
            }

            var image = loader.FromFile(input);

            exporter.Export(image, outputPath);
        }