Class AdvancedImageExtensions
Extension methods over Image{TPixel}
Inherited Members
Namespace: SixLabors.ImageSharp.Advanced
Assembly: SixLabors.ImageSharp.dll
Syntax
public static class AdvancedImageExtensions
Methods
| Improve this Doc View SourceAcceptVisitor(Image, IImageVisitor)
Accepts a IImageVisitor to implement a double-dispatch pattern in order to apply pixel-specific operations on non-generic Image instances
Declaration
public static void AcceptVisitor(this Image source, IImageVisitor visitor)
Parameters
Type | Name | Description |
---|---|---|
Image | source | The source image. |
IImageVisitor | visitor | The image visitor. |
AcceptVisitorAsync(Image, IImageVisitorAsync, CancellationToken)
Accepts a IImageVisitor to implement a double-dispatch pattern in order to apply pixel-specific operations on non-generic Image instances
Declaration
public static Task AcceptVisitorAsync(this Image source, IImageVisitorAsync visitor, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type | Name | Description |
---|---|---|
Image | source | The source image. |
IImageVisitorAsync | visitor | The image visitor. |
CancellationToken | cancellationToken | The token to monitor for cancellation requests. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
DetectEncoder(Image, String)
For a given file path find the best encoder to use via its extension.
Declaration
public static IImageEncoder DetectEncoder(this Image source, string filePath)
Parameters
Type | Name | Description |
---|---|---|
Image | source | The source image. |
String | filePath | The target file path to save the image to. |
Returns
Type | Description |
---|---|
IImageEncoder | The matching IImageEncoder. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | The file path is null. |
NotSupportedException | No encoder available for provided path. |
GetConfiguration(Image)
Gets the configuration for the image.
Declaration
public static Configuration GetConfiguration(this Image source)
Parameters
Type | Name | Description |
---|---|---|
Image | source | The source image. |
Returns
Type | Description |
---|---|
Configuration | Returns the configuration. |
GetConfiguration(ImageFrame)
Gets the configuration for the image frame.
Declaration
public static Configuration GetConfiguration(this ImageFrame source)
Parameters
Type | Name | Description |
---|---|---|
ImageFrame | source | The source image. |
Returns
Type | Description |
---|---|
Configuration | Returns the configuration. |
GetPixelMemoryGroup<TPixel>(Image<TPixel>)
Gets the representation of the pixels as a IMemoryGroup<T> containing the backing pixel data of the image stored in row major order, as a list of contiguous Memory<T> blocks in the source image's pixel format.
Declaration
public static IMemoryGroup<TPixel> GetPixelMemoryGroup<TPixel>(this Image<TPixel> source)
where TPixel : struct, IPixel<TPixel>
Parameters
Type | Name | Description |
---|---|---|
Image<TPixel> | source | The source image. |
Returns
Type | Description |
---|---|
IMemoryGroup<TPixel> | The IMemoryGroup<T>. |
Type Parameters
Name | Description |
---|---|
TPixel | The type of the pixel. |
Remarks
Certain Image Processors may invalidate the returned IMemoryGroup<T> and all it's buffers, therefore it's not recommended to mutate the image while holding a reference to it's IMemoryGroup<T>.
GetPixelMemoryGroup<TPixel>(ImageFrame<TPixel>)
Gets the representation of the pixels as a IMemoryGroup<T> containing the backing pixel data of the image stored in row major order, as a list of contiguous Memory<T> blocks in the source image's pixel format.
Declaration
public static IMemoryGroup<TPixel> GetPixelMemoryGroup<TPixel>(this ImageFrame<TPixel> source)
where TPixel : struct, IPixel<TPixel>
Parameters
Type | Name | Description |
---|---|---|
ImageFrame<TPixel> | source | The source image. |
Returns
Type | Description |
---|---|
IMemoryGroup<TPixel> | The IMemoryGroup<T>. |
Type Parameters
Name | Description |
---|---|
TPixel | The type of the pixel. |
Remarks
Certain Image Processors may invalidate the returned IMemoryGroup<T> and all it's buffers, therefore it's not recommended to mutate the image while holding a reference to it's IMemoryGroup<T>.
GetPixelRowMemory<TPixel>(Image<TPixel>, Int32)
Gets the representation of the pixels as Span<T> of of contiguous memory
at row rowIndex
beginning from the the first pixel on that row.
Declaration
public static Memory<TPixel> GetPixelRowMemory<TPixel>(this Image<TPixel> source, int rowIndex)
where TPixel : struct, IPixel<TPixel>
Parameters
Type | Name | Description |
---|---|---|
Image<TPixel> | source | The source. |
Int32 | rowIndex | The row. |
Returns
Type | Description |
---|---|
Memory<TPixel> | The Span<T> |
Type Parameters
Name | Description |
---|---|
TPixel | The type of the pixel. |
GetPixelRowMemory<TPixel>(ImageFrame<TPixel>, Int32)
Gets the representation of the pixels as a Span<T> of contiguous memory
at row rowIndex
beginning from the the first pixel on that row.
Declaration
public static Memory<TPixel> GetPixelRowMemory<TPixel>(this ImageFrame<TPixel> source, int rowIndex)
where TPixel : struct, IPixel<TPixel>
Parameters
Type | Name | Description |
---|---|---|
ImageFrame<TPixel> | source | The source. |
Int32 | rowIndex | The row. |
Returns
Type | Description |
---|---|
Memory<TPixel> | The Span<T> |
Type Parameters
Name | Description |
---|---|
TPixel | The type of the pixel. |