Class ImageExportersRegistry

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

IImageExporterDescriptor []

RegisteredFormats

Gets the registered export formats.

public static FileFormat RegisteredFormats
    {
        get;
    }

Property Value

FileFormat

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

IImageExporter

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

IImageExporterDescriptor

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.

 English