using MediaBrowser.Controller.Drawing; using MediaBrowser.Model.Drawing; using System; namespace Emby.Drawing { public interface IImageEncoder : IDisposable { /// /// Gets the supported input formats. /// /// The supported input formats. string[] SupportedInputFormats { get; } /// /// Gets the supported output formats. /// /// The supported output formats. ImageFormat[] SupportedOutputFormats { get; } /// /// Crops the white space. /// /// The input path. /// The output path. void CropWhiteSpace(string inputPath, string outputPath); /// /// Encodes the image. /// /// The input path. /// The output path. /// if set to true [automatic orient]. /// The width. /// The height. /// The quality. /// The options. /// The output format. void EncodeImage(string inputPath, string outputPath, bool autoOrient, int width, int height, 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; } } }