using System; using MediaBrowser.Model.Drawing; namespace MediaBrowser.Controller.Drawing { public interface IImageEncoder { /// /// Gets the supported input formats. /// /// The supported input formats. string[] SupportedInputFormats { get; } /// /// Gets the supported output formats. /// /// The supported output formats. ImageFormat[] SupportedOutputFormats { get; } /// /// Encodes the image. /// string EncodeImage(string inputPath, DateTime dateModified, string outputPath, bool autoOrient, ImageOrientation? orientation, int quality, ImageProcessingOptions options, ImageFormat outputFormat); /// /// Creates the image collage. /// /// The options. void CreateImageCollage(ImageCollageOptions options); /// /// Gets the name. /// /// The name. string Name { get; } /// /// Gets a value indicating whether [supports image collage creation]. /// /// true if [supports image collage creation]; otherwise, false. bool SupportsImageCollageCreation { get; } /// /// Gets a value indicating whether [supports image encoding]. /// /// true if [supports image encoding]; otherwise, false. bool SupportsImageEncoding { get; } ImageSize GetImageSize(string path); } }