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); }
/// <summary> /// Registers <paramref name="exporter"/> that will be used for exporting images accepting all extensions that <paramref name="exporter"/> supports. /// </summary> /// <param name="exporter"></param> public void RegisterExporter(IImageExporter exporter) { RegisterExporter(exporter.GetSupportedExtensions(), exporter); }