Class ImageExportersRegistry
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.7.0)
Represents the image exporters registry.
public static class ImageExportersRegistry
{
private static readonly Dictionary<string, Type> Registry = new Dictionary<string, Type>();
static ImageExportersRegistry()
{
RegisterImageExporter(new JpegImageExporter());
RegisterImageExporter(new PngImageExporter());
RegisterImageExporter(new GifImageExporter());
RegisterImageExporter(new TiffImageExporter());
RegisterImageExporter(new BmpImageExporter());
}
public static void RegisterImageExporter(IImageExporter imageExporter)
{
var key = imageExporter.Extension;
if (Registry.ContainsKey(key))
throw new ArgumentException($"The extension '{key}' is already registered.");
Registry[key] = imageExporter.GetType();
}
public static IImageExporter GetImageExporter(string fileExtension)
{
if (!Registry.TryGetValue(fileExtension, out var type))
throw new KeyNotFoundException($"The extension '{fileExtension}' is not registered.");
return (IImageExporter)Activator.CreateInstance(type);
}
}
Inheritance
object ← ImageExportersRegistry
Inherited Members
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Properties
RegisteredExporterDescriptors
Gets the registered exporter descriptors.
public static IImageExporterDescriptor[] RegisteredExporterDescriptors
{
get;
}
Property Value
RegisteredFormats
Gets the registered export formats.
public static FileFormat RegisteredFormats
{
get;
}
Property Value
Methods
CreateFirstSupportedExporter(Image, ImageOptionsBase)
Creates the first found exporter suitable for the specified save options and image.
public static IImageExporter CreateFirstSupportedExporter(Image image, ImageOptionsBase options)
{
var exporters = new List<IImageExporter>
{
new PdfExporter(),
new TiffExporter(),
new JpegExporter()
};
foreach (var exporter in exporters)
{
if (exporter.IsImageExportSupported(image, options))
return exporter;
}
throw new NotSupportedException("No supported image exporter found.");
}
Parameters
image
Image
The image to export.
options
ImageOptionsBase
The save options to use for export.
Returns
The exporter which supports the specified image and save options or null if no such exporter is found.
Remarks
The first exporter will be actually the last registered.
GetFirstSupportedDescriptor(Image, ImageOptionsBase)
Gets the fist found supported descriptor suitable for the specified save options and image.
public static IImageExporterDescriptor GetFirstSupportedDescriptor(Image image, ImageOptionsBase options)
{
var allDescriptors = ImageExporters.GetAll();
foreach (var descriptor in allDescriptors)
{
if (descriptor.CanExport(image, options))
return descriptor;
}
return null;
}
Parameters
image
Image
The image to export.
options
ImageOptionsBase
The options.
Returns
The exporter descriptor which supports the specified image and save options or null if no such descriptor is found.
Remarks
The first exporter descriptor will be actually the last registered.
Register(IImageExporterDescriptor)
Registers the specified image exporter descriptor.
public static void Register(IImageExporterDescriptor imageExporterDescriptor)
{
}
Parameters
imageExporterDescriptor
IImageExporterDescriptor
The image exporter descriptor.
RegisterExporter(IImageExporterDescriptor)
Registers the exporter.
public static void RegisterExporter(
IImageExporterDescriptor exporterDescriptor)
{
}
Parameters
exporterDescriptor
IImageExporterDescriptor
The exporter descriptor to register.
UnregisterExporter(IImageExporterDescriptor)
Unregisters the exporter.
public static void UnregisterExporter(IImageExporterDescriptor exporterDescriptor)
{
}
Parameters
exporterDescriptor
IImageExporterDescriptor
The exporter descriptor to unregister.