#pragma warning disable CS1591 using System; using System.Collections.Generic; using MediaBrowser.Model.Drawing; namespace MediaBrowser.Controller.Drawing { public interface IImageEncoder { /// /// Gets the supported input formats. /// /// The supported input formats. IReadOnlyCollection SupportedInputFormats { get; } /// /// Gets the supported output formats. /// /// The supported output formats. IReadOnlyCollection SupportedOutputFormats { get; } /// /// Gets the display name for the encoder. /// /// The display 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; } /// /// Get the dimensions of an image from the filesystem. /// /// The filepath of the image. /// The image dimensions. ImageDimensions GetImageSize(string path); /// /// Gets the blurhash of an image. /// /// Amount of X components of DCT to take. /// Amount of Y components of DCT to take. /// The filepath of the image. /// The blurhash. string GetImageBlurHash(int xComp, int yComp, string path); /// /// Encode an image. /// string EncodeImage(string inputPath, DateTime dateModified, string outputPath, bool autoOrient, ImageOrientation? orientation, int quality, ImageProcessingOptions options, ImageFormat outputFormat); /// /// Create an image collage. /// /// The options to use when creating the collage. /// Optional. void CreateImageCollage(ImageCollageOptions options, string? libraryName); } }