using System;
using MediaBrowser.Model.Drawing;
namespace MediaBrowser.Controller.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; }
///
/// Encodes the image.
///
void EncodeImage(string inputPath, ImageSize? originalImageSize, string outputPath, bool autoOrient, 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);
}
}