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.
/// The width.
/// The height.
/// The quality.
/// The options.
/// The output format.
void EncodeImage(string inputPath, string outputPath, 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; }
}
}