How sixlabors/imagesharp works
ImageSharp is a managed .NET 2D image and graphics library. Its user-facing workflow is to load or create an image, process it, then encode or save it; format detection and codec selection support that workflow. The tree also shows broad format coverage and color-profile conversion, while sampled sources expose configuration, format registration, resizing, and AV1 internals. Several workflow links are documented only at a high level, so those are marked dashed; source excerpts do not establish the full public API call chain.
Main entry points: ResizeWorker.cs Resize Worker · Image.cs Image API · DefaultImageProcessorContext{TPixel}.cs Processor Context · Configuration.cs Configuration
Components 18
Image API
- Image API
src/ImageSharp/Image.cs - Configuration
src/ImageSharp/Configuration.cs - Memory Management
src/ImageSharp/Memory
Image Formats
- Format Manager
src/ImageSharp/Formats/ImageFormatManager.cs - Format Codecs
src/ImageSharp/Formats - HEIF Parsing
src/ImageSharp/Formats/Heif/HeifSequenceParser.cs - AV1 Codec
src/ImageSharp/Formats/Heif/Av1 - AV1 Motion Search
src/ImageSharp/Formats/Heif/Av1/Motion/Av1MotionSearchBase.cs - Motion Vector Costs
src/ImageSharp/Formats/Heif/Av1/Entropy/Av1MotionVectorCosts.cs - Motion Vectors
src/ImageSharp/Formats/Heif/Av1/Motion/Av1MotionVector.cs
Processing
- Processor Context
src/ImageSharp/Processing/DefaultImageProcessorContext{TPixel}.cs - Resize Worker
src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs - Image Geometry
src/ImageSharp/Primitives/Rectangle.cs - Image Size
src/ImageSharp/Primitives/Size.cs - Pixel Numerics
src/ImageSharp/Common/Helpers/Numerics.cs
Color and Pixels
- Color Profiles
src/ImageSharp/ColorProfiles/ColorProfileConverter.cs - Color Conversion
Other components
- Application
Connections 17
- Application → Image API: uses
README.md - Image API → Format Manager: selects formats
src/ImageSharp/Formats/ImageFormatManager.cs - Format Manager → Format Codecs: registers codecs
src/ImageSharp/Formats/ImageFormatManager.cs - Configuration → Format Codecs: configures formats
src/ImageSharp/Configuration.cs - HEIF Parsing → AV1 Codec: parses sequence
src/ImageSharp/Formats/Heif/HeifSequenceParser.cs - AV1 Motion Search → Motion Vector Costs: measures candidates
src/ImageSharp/Formats/Heif/Av1/Motion/Av1MotionSearchBase.cs - Motion Vector Costs → Motion Vectors: scores vectors
src/ImageSharp/Formats/Heif/Av1/Entropy/Av1MotionVectorCosts.cs - Image API → Processor Context: processes images
src/ImageSharp/Processing/DefaultImageProcessorContext{TPixel}.cs - Processor Context → Resize Worker: dispatches processing
src/ImageSharp/Processing/DefaultImageProcessorContext{TPixel}.cs - Resize Worker → Image Geometry: uses regions
src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs - Resize Worker → Image Size: uses dimensions
src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs - Resize Worker → Pixel Numerics: uses math
src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs - Resize Worker → Configuration: reads settings
src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs - Image API → Color Profiles: converts colors
- Color Profiles → Color Conversion: uses transforms
- Processor Context → Configuration: reads settings
src/ImageSharp/Processing/DefaultImageProcessorContext{TPixel}.cs - Resize Worker → Memory Management: allocates buffers
src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs