Class ImageLoadersRegistry
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.7.0)
Represents the image loaders registry.
public static class ImageLoadersRegistry
{
private static readonly Dictionary<string, Func<Stream, IImageLoader>> _loaders;
static ImageLoadersRegistry()
{
_loaders = new Dictionary<string, Func<Stream, IImageLoader>>();
Register("jpeg", () => new JpegImageLoader());
Register("png", () => new PngImageLoader());
}
public static void Register(string format, Func<Stream, IImageLoader> loader)
{
_loaders[format] = loader;
}
public static IImageLoader LoadFromStream(Stream stream, string format)
{
if (_loaders.TryGetValue(format, out var loader))
return loader(stream);
throw new ArgumentException("Unknown image format.");
}
}
Inheritance
Inherited Members
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Properties
RegisteredDescriptors
Gets the registered descriptors.
public static IImageLoaderDescriptor[] RegisteredDescriptors
{
get;
}
Property Value
RegisteredFormats
Gets the registered image loading formats.
public static FileFormat RegisteredFormats
{
get;
}
Property Value
Methods
CreateFirstSupportedLoader(Stream, LoadOptions)
Creates the first found loader suitable for the specified stream’ and optionally the
loadOptions'.
public static IImageLoader CreateFirstSupportedLoader(
Stream stream,
LoadOptions loadOptions
)
{
var supportedLoaders = new[]
{
new JpegLoader(),
new PngLoader(),
new GifLoader(),
};
foreach (var loader in supportedLoaders)
{
if (loader.CanLoad(stream))
{
return loader;
}
}
throw new Exception("No supported image loader found.");
}
Parameters
stream
Stream
The stream.
loadOptions
LoadOptions
The load options.
Returns
The loader which supports the specified stream’ and
loadOptions’ or null if no such loader is found.
Remarks
The first loader will be actually the last registered.
GetFirstSupportedDescriptor(Stream, LoadOptions)
Gets the fist found supported descriptor suitable for the specified stream’ and optionally the
loadOptions'.
public static IImageLoaderDescriptor GetFirstSupportedDescriptor(
Stream stream,
LoadOptions loadOptions)
{
var descriptors = ImageLoader.GetLoaders()
.Select(loader => loader.CreateDescriptor())
.ToList();
for (int i = 0; i < descriptors.Count; i++)
{
if (descriptors[i].CanLoad(stream, loadOptions))
return descriptors[i];
}
return null;
}
Parameters
stream
Stream
The stream.
loadOptions
LoadOptions
The load options.
Returns
The loader descriptor which supports the specified stream’ and
loadOptions’ or null if no such descriptor is found.
Remarks
The first loader descriptor will be actually the last registered.
GetFirstSupportedDescriptorByFileFormat(FileFormat)
Gets the first supported file format by its type name.
public static IImageLoaderDescriptor GetFirstSupportedDescriptorByFileFormat(FileFormat fileFormat)
{
var supportedDescriptors = ImageSettings.AllLoaders.Where(loader => loader.SupportedFileFormats.Contains(fileFormat));
if (supportedDescriptors.Any())
return supportedDescriptors.First();
return null;
}
Parameters
fileFormat
FileFormat
The supported descriptor file format.
Returns
The first found loader descriptor or null if not such descriptor is found.
Remarks
The first loader descriptor will be actually the last registered.
GetFirstSupportedDescriptorByTypeName(string)
Gets the first supported descriptor by its type name.
public static IImageLoaderDescriptor GetFirstSupportedDescriptorByTypeName(string descriptorTypeName)
{
var supportedDescriptors = ImageLoaderFactories.GetAllRegisteredFactories();
foreach (var factory in supportedDescriptors)
{
if (factory.CanLoadDescriptorType(descriptorTypeName))
return factory.CreateImageLoaderDescriptor();
}
return null;
}
Parameters
descriptorTypeName
string
The descriptor type name.
Returns
The first found loader descriptor or null if not such descriptor is found.
Remarks
The first loader descriptor will be actually the last registered.
Register(IImageLoaderDescriptor)
Registers the specified image loader descriptor.
public static void Register(IImageLoaderDescriptor imageLoaderDescriptor)
{
}
Parameters
imageLoaderDescriptor
IImageLoaderDescriptor
The image loader descriptor.
RegisterLoader(IImageLoaderDescriptor)
Registers the loader.
public static void RegisterLoader(IImageLoaderDescriptor loaderDescriptor)
{
}
Parameters
loaderDescriptor
IImageLoaderDescriptor
The loader descriptor to register.
UnregisterLoader(IImageLoaderDescriptor)
Unregisters the loader.
public static void UnregisterLoader(IImageLoaderDescriptor loaderDescriptor)
{
}
Parameters
loaderDescriptor
IImageLoaderDescriptor
The loader descriptor to unregister.