Meziantou.Framework.Imaging namespace
Classes
| Name | Description |
|---|---|
| AutoCropAnalysis | The result of ImageProcessingExtensions.AnalyzeAutoCrop: the background and the content box detected in an image. |
| AutoCropAnalysis<TPixel> | The result of ImageProcessingExtensions.AnalyzeAutoCrop: the background, as a pixel of the image, and the content box detected in an Image<TPixel>. |
| AutoCropOptions | Immutable options for ImageProcessingExtensions.AutoCrop and ImageProcessingExtensions.AnalyzeAutoCrop. |
| AutoLevelsOptions | Immutable options of a contrast stretch (ImageProcessingExtensions.AutoLevels). |
| AuxiliaryImage | An image stored next to the primary image of a file: a thumbnail, a depth map, a gain map, a matte. It is borrowed from its AuxiliaryImageCollection, and decoded on demand by AuxiliaryImage.Decode. |
| AuxiliaryImageCollection | The images that a file stores next to its primary image without presenting them: the thumbnails, depth maps, gain maps and mattes of HEIC and AVIF files, and the images that follow the primary image of a JPEG Multi-Picture Format file (the gain map of an Ultra HDR photo). Image.Load never reads them. |
| CmykConversionOptions | Immutable options of the color conversion that loads images whose samples are CMYK inks (four-component JPEG files and separated TIFF pages): see ImageDecodeOptions.CmykConversion and ImageReaderOptions.CmykConversion. |
| ColorDifference | Color difference metrics (ΔE): how different two colors look, as a distance in CIELAB or Oklab. A difference of about 1 in CIELAB (about 0.02 in Oklab) is just noticeable. |
| ColorMatrix | An immutable matrix that gives each pixel a new color from its own one: brighter, grayer, tinted, inverted, more transparent. It is applied to an image by ImageProcessingExtensions.ApplyColorMatrix, and to a drawing by DrawingCanvas.Filter. |
| Colors | The named colors of CSS, as opaque Rgba32 values (and Colors.Transparent). A color converts implicitly to an Rgba64 and to a brush. |
| ConvolutionKernel | An immutable convolution matrix for ImageProcessingExtensions.Convolve. |
| ConvolutionOptions | Immutable options for ImageProcessingExtensions.Convolve. |
| CropSuggestionOptions | Immutable options of ImageProcessingExtensions.SuggestCrop. |
| CubeLut | An immutable color lookup table read from a .cube file, for ImageProcessingExtensions.ApplyLut: the color grades and film looks that video and photo tools export. |
| DifferenceMapOptions | Immutable options of ImageSimilarity.CreateDifferenceMap. |
| FrameRefinement | Describes a rendering of a frame that ImageReader<TPixel>.ReadFrameRefinementInto wrote to an image: an intermediate rendering, computed from the part of the frame that was received, or the frame itself. |
| HdrToneMappingOptions | Immutable options of the conversion of high dynamic range samples (the PQ and HLG transfer characteristics of a CICP color description) to the standard dynamic range that an ICC profile describes (IccColorTransformOptions.ToneMapping). |
| HistogramEqualizationOptions | Immutable options of a histogram equalization (ImageProcessingExtensions.Equalize). |
| IccColorTransform | An ICC color conversion from the device color space of a source profile to the device color space of a destination profile. Instances are immutable and thread-safe: create a transform once and reuse it. |
| IccColorTransformOptions | Immutable options of an ICC color conversion (IccColorTransform). |
| Image | An owned, disposable image made of one or more full-canvas displayed frames sharing one pixel format. |
| ImageCollection | A disposable collection of images that are not animation frames: the pages of a document (TIFF, BigTIFF) or the alternative representations of a drawing (ICO, CUR). Entries may differ in size, pixel format and metadata, and are never resized or converted implicitly. |
| ImageCollectionEntry | One entry of an ImageCollection: a page of a document or an alternative representation of a drawing. |
| ImageConfiguration | Immutable configuration shared by an image and the operations performed on it. |
| ImageDecodeOptions | Immutable options for the eager Image.Load and Image.LoadAsync methods. |
| ImageException | The base class of the exceptions describing image content, feature and resource-limit failures. |
| ImageFormatInfo | Describes an ImageFormat: its display name, its media (MIME) types and its file extensions, and maps an extension or a media type back to its format. |
| ImageFrame | A borrowed view of one full-canvas displayed frame (or of the poster frame) of an Image. |
| ImageFrameCollection | The read-only, ordered list of the displayed frames of an Image. Never empty. |
| ImageFrameCollection<TPixel> | The typed, read-only, ordered list of the displayed frames of an Image<TPixel>. Never empty. |
| ImageFrame<TPixel> | A borrowed, typed view of one full-canvas displayed frame (or of the poster frame) of an Image<TPixel>. |
| ImageHistogram | An immutable histogram of one channel of the pixels of an image or a frame (ImageProcessingExtensions.ComputeHistogram): the number of pixels at each sample level. |
| ImageIdentifyOptions | Immutable options for the Image.Identify and Image.IdentifyAsync methods. |
| ImageInfo | A snapshot of the information that can be determined about an encoded image without decoding its pixels. |
| ImagePalette | An immutable palette of 1 to 256 colors with 8-bit samples and straight alpha, for a color reduction (QuantizeOptions.Palette). Build one from the pixels of frames with PaletteBuilder, or list the colors. |
| ImageProcessingExtensions | In-place processing operations on images and frames. |
| ImageReaderOptions | Immutable options for Image.OpenReader. |
| ImageReader<TPixel> | Decodes the displayed frames of an image sequentially, with memory bounded by one frame of compositor state. |
| ImageResourceLimitException | The exception thrown when an operation would exceed a configured ImageResourceLimits value. |
| ImageResourceLimits | Immutable resource limits applied while decoding, processing and encoding images. |
| ImageSimilarity | Measures how similar two frames look: the Structural Similarity Index (SSIM), the peak signal-to-noise ratio (PSNR), the SSIMULACRA 2 score and the Butteraugli distance, and the distance between two 64-bit perceptual hashes, the difference hash (dHash) and the perceptual hash (pHash); and draws where two frames differ. |
| ImageSimilarityOptions | Immutable options of ImageSimilarity.ComputeSsim and ImageSimilarity.ComputePsnr: the precision of the samples they compare. |
| ImageWriterOptions | Immutable options for Image.CreateWriter. |
| ImageWriter<TPixel> | Encodes frames sequentially, keeping only bounded private state between frames. |
| Image<TPixel> | An owned, disposable image whose frames store pixels of type TPixel. |
| InvalidImageContentException | The exception thrown when the data of a recognized format is malformed, inconsistent, or truncated. |
| JpegXlTranscodeOptions | Immutable options for JpegXlTranscoder. |
| JpegXlTranscoder | Converts between JPEG files and JPEG XL files without decoding pixels: a JPEG XL file can hold the quantized coefficients of a JPEG file, about a fifth smaller, with the data that rebuild the JPEG file byte for byte. |
| OpenExrDecodingOptions | Immutable options of the OpenEXR decoder (ImageConfiguration.OpenExrDecoding): the channels it decodes and the window the image covers. |
| PaletteBuilder | Computes one palette from the pixels of one or more frames, for example a palette shared by every frame of an animation (QuantizeOptions.Palette). |
| PixelConversionOptions | Immutable options controlling explicit conversions between pixel formats (typed loading and Image.CloneAs). |
| PixelFormats | Provides information about the built-in pixel formats and maps pixel structs to PixelFormat values. |
| QuantizeOptions | Immutable options of a color reduction to a palette: by ImageProcessingExtensions.Quantize, and by the encoders that store a palette (GifEncoder.Quantization, BmpEncoder.Quantization and PngEncoder.Quantization). |
| RadialBlurOptions | Immutable options for ImageProcessingExtensions.RadialBlur. |
| ResizeOptions | Immutable options for ImageProcessingExtensions.Resize. |
| RgbColorSpace | The meaning of red, green and blue values: how the color value types (CieXyz, CieLab, Oklab, ...) read an Rgba32 or Rgba64 color and write one. Instances are immutable and thread-safe: create one once and reuse it. |
| StructuringElement | An immutable structuring element: the neighborhood of a pixel that the morphological filters read (ImageProcessingExtensions.Erode, ImageProcessingExtensions.Dilate and the operations made of them). It is flat: every pixel of the neighborhood counts the same. |
| ThresholdOptions | Immutable options of a binarization (ImageProcessingExtensions.Threshold): how the threshold of each pixel is chosen, and the two colors of the result. |
| ToneCurve | An immutable tone curve: a function that gives a new value to a sample value, for ImageProcessingExtensions.ApplyToneCurve and ImageProcessingExtensions.ApplyToneCurves. |
| TransformOptions | Immutable options of the transformations of an image: ImageProcessingExtensions.Rotate, ImageProcessingExtensions.Skew and ImageProcessingExtensions.Transform. |
| UnknownImageFormatException | The exception thrown when the input does not start with the signature of a supported image format. |
| UnsupportedImageFeatureException | The exception thrown when valid content uses a feature this version does not support (for example a lossless JPEG or a GIF plain-text extension), or when an operation would lose information (animation, alpha, precision, metadata, color profile) and no explicit policy allows the loss. |
Structs
| Name | Description |
|---|---|
| A8 | An 8-bit alpha (coverage) value without color, for alpha masks. |
| Abgr32 | A pixel with 8-bit components and straight (non-premultiplied) alpha, stored in ABGR byte order. |
| AffineTransform | A transformation of the plane that keeps straight lines straight and parallel lines parallel: a combination of translations, scalings, rotations and skews. |
| Argb32 | A pixel with 8-bit components and straight (non-premultiplied) alpha, stored in ARGB byte order. |
| Bgr565 | An opaque pixel with a 5-bit red, a 6-bit green and a 5-bit blue component, packed in a 16-bit value. |
| Bgra32 | A pixel with 8-bit components and straight (non-premultiplied) alpha, stored in BGRA byte order. |
| ButteraugliDistance | The Butteraugli distance between two frames (ImageSimilarity.ComputeButteraugliDistance): the two values that libjxl's butteraugli_main prints. |
| CieLab | A color in the CIE 1976 L*a*b* color space (CIELAB), relative to a white, CieXyz.D50 by default. |
| CieLch | A color in the cylindrical form of CIELAB (CIELCh): its lightness, chroma and hue angle. |
| CieLuv | A color in the CIE 1976 L*u*v* color space (CIELUV), relative to a white, CieXyz.D50 by default. |
| CieXyz | A color in the CIE 1931 XYZ color space: the tristimulus values X, Y (the luminance) and Z. |
| Cmyk | A device CMYK color: the amounts of cyan, magenta, yellow and black inks, without color profile. |
| FrameDuration | An exact, non-negative frame display duration expressed as a normalized rational number of seconds. |
| Gray16 | An opaque 16-bit grayscale pixel, stored in native endianness. |
| Gray8 | An opaque 8-bit grayscale pixel. |
| Hsl | A color given by its hue, saturation and lightness (HSL), a cylindrical form of the encoded RGB values of a device. |
| Hsv | A color given by its hue, saturation and value (HSV, also called HSB), a cylindrical form of the encoded RGB values of a device. |
| Hwb | A color given by its hue, whiteness and blackness (HWB), a cylindrical form of the encoded RGB values of a device. |
| ImageFrameCollection.Enumerator | Enumerates the frames of an ImageFrameCollection. |
| ImageFrameCollection<TPixel>.Enumerator | Enumerates the frames of an ImageFrameCollection<TPixel>. |
| La16 | A pixel with an 8-bit gray level and an 8-bit straight (non-premultiplied) alpha component, stored in that byte order. |
| La32 | A pixel with a 16-bit gray level and a 16-bit straight (non-premultiplied) alpha component, stored in native endianness. |
| Oklab | A color in Oklab, the perceptual color space of Björn Ottosson, in which equal distances are close to equal perceived differences: the space CSS Color 4 recommends to mix colors in. |
| Oklch | A color in the cylindrical form of Oklab: its lightness, chroma and hue angle. |
| PixelAccessor<TPixel> | Scoped access to the rows of a frame, valid only during a ImageFrame<TPixel>.ProcessPixelRows callback. |
| PixelBytesAccessor | Scoped access to the raw bytes of the rows of a frame, valid only during a ImageFrame.ProcessPixelBytes callback. |
| Point | Represents a pixel coordinate. The origin is the top-left corner of the stored pixels; Y grows downward. |
| PointD | Represents a position with sub-pixel precision. The origin is the top-left corner of the stored pixels; Y grows downward. Integer coordinates are pixel boundaries: the pixel (x, y) covers the square from (x, y) to (x + 1, y + 1). |
| ProjectiveTransform | A transformation of the plane that keeps straight lines straight, but not parallel lines parallel: a plane seen in perspective. An AffineTransform is the projective transformation whose third column is (0, 0, 1). |
| Rectangle | Represents an axis-aligned rectangle of pixels with exclusive Rectangle.Right and Rectangle.Bottom bounds. |
| RectangleD | Represents an axis-aligned rectangle with sub-pixel precision (see PointD for the coordinate system). |
| Rgb24 | An opaque pixel with 8-bit red, green and blue components, stored in RGB byte order. |
| Rgb48 | An opaque pixel with 16-bit red, green and blue components, stored in native endianness. |
| Rgba1010102 | A pixel with 10-bit red, green and blue components and a 2-bit straight (non-premultiplied) alpha, packed in a 32-bit value. |
| Rgba32 | A pixel with 8-bit red, green, blue and straight (non-premultiplied) alpha components, stored in RGBA byte order. |
| Rgba64 | A pixel with 16-bit red, green, blue and straight (non-premultiplied) alpha components. |
| RgbaFloat | A pixel with single-precision floating-point red, green, blue and straight (non-premultiplied) alpha components, for scene-referred and high dynamic range data. |
| RgbaHalf | A pixel with half-precision floating-point red, green, blue and straight (non-premultiplied) alpha components, for scene-referred and high dynamic range data stored in 8 bytes per pixel. |
| Size | Represents a non-negative two-dimensional size, in pixels. |
| Transform3D | A transformation of space, as the 4x4 matrices of CSS transforms: translations, scalings and rotations in three dimensions, and perspective. A drawing is the plane z = 0; Transform3D.ToProjectiveTransform gives what the transformation does to it. |
Enums
| Name | Description |
|---|---|
| AutoCropPaddingMode | Selects what an auto-crop does when the padding around the content reaches outside the canvas. |
| AuxiliaryImageKind | What an image stored next to the primary image of a file is (AuxiliaryImage.Kind). |
| Cie94Application | The weighting of the CIE 1994 color difference (ColorDifference.DeltaE94), which depends on the kind of samples compared. |
| ColorBlindnessType | A color vision deficiency simulated by ColorMatrix.CreateColorBlindness. |
| ConvolutionEdgeMode | Selects the pixels a convolution reads outside the image. |
| ConvolutionWorkingSpace | Selects the numeric space in which convolution arithmetic is performed. |
| CropEnergy | What ImageProcessingExtensions.SuggestCrop keeps in the crop. |
| DecodingStrictness | Selects how the decoders treat files that deviate from their specification (ImageConfiguration.DecodingStrictness). |
| DifferenceMapKind | What the image of ImageSimilarity.CreateDifferenceMap shows. |
| DitheringMode | Selects how colors are dithered when they are reduced to a palette, by ImageProcessingExtensions.Quantize and by the encoders that reduce colors (QuantizeOptions.Dithering). |
| EdgeDetector | Selects the operator of ImageProcessingExtensions.DetectEdges. |
| FlipMode | The axis of a mirror operation. |
| GamutMapping | How an ICC color conversion brings the colors that the destination cannot reproduce into its gamut (IccColorTransformOptions.GamutMapping). |
| HdrToneMappingOperator | Selects the curve that compresses the highlights of high dynamic range samples into a standard dynamic range (HdrToneMappingOptions). |
| HistogramChannel | The sample a histogram counts (ImageProcessingExtensions.ComputeHistogram). |
| HistogramColorMode | The samples a histogram-based tone operation (ImageProcessingExtensions.Equalize, ImageProcessingExtensions.AutoLevels) remaps. |
| HistogramEqualizationMode | The algorithm of a histogram equalization (HistogramEqualizationOptions.Mode). |
| HueInterpolation | The arc of the hue circle along which two hues are interpolated, as the hue-interpolation-method of CSS Color 4 (section 12.4) selects it. |
| ImageCollectionKind | What the entries of an ImageCollection are. |
| ImageColorModel | Describes the color model of the encoded source samples, independently of the decoded PixelFormat. |
| ImageFormat | Identifies an encoded image file format. |
| ImageIdentifyMode | Controls how much of an encoded image is examined by Image.Identify. |
| ImageResourceLimitKind | Identifies the resource limit that was exceeded. Each value corresponds to a property of ImageResourceLimits. |
| LutInterpolation | Selects how a three-dimensional lookup table (CubeLut) is interpolated between its points. |
| OpenExrWindowMode | Selects the pixels an OpenEXR file is decoded to (OpenExrDecodingOptions.WindowMode). |
| OutOfRangeSampleHandling | Selects what happens to the floating-point samples (RgbaFloat, RgbaHalf) that a narrower pixel format cannot store: the samples outside [0, 1] of an integer format, and the finite samples beyond the range of Half (±65,504). |
| PixelFormat | Identifies one of the built-in working pixel representations used to store decoded pixels. |
| RadialBlurKind | The direction in which ImageProcessingExtensions.RadialBlur blurs every pixel. |
| ResamplingFilter | Selects the interpolation kernel used to resample pixels. |
| ResizeAnchor | Selects the part of the image kept when ResizeMode.Cover crops the overflow, or where the image is placed on a larger canvas (ResizeMode.Pad, ResizeMode.BoxPad, ImageProcessingExtensions.ExtendCanvas). |
| ResizeMode | Controls how the target size of a resize is interpreted. |
| ResizeWorkingSpace | Selects the numeric space in which resampling arithmetic is performed. |
| RotateMode | A clockwise rotation by a multiple of 90 degrees. Rotations are exact pixel permutations, never resampling. |
| SimilarityPrecision | The samples that ImageSimilarity compares, whatever the pixel formats of the frames. |
| ThresholdMethod | Selects how ImageProcessingExtensions.Threshold chooses the threshold of each pixel. |
| TransformCanvasMode | Selects the canvas of a transformed image (TransformOptions.CanvasMode). |
Delegates
| Name | Description |
|---|---|
| PixelBytesAction | A callback receiving scoped access to the raw pixel bytes of a frame. |
| PixelBytesAction<TState> | A callback receiving scoped access to the raw pixel bytes of a frame and caller state. |
| PixelRowsAction<TPixel> | A callback receiving scoped access to the pixel rows of a frame. |
| PixelRowsAction<TPixel, TState> | A callback receiving scoped access to the pixel rows of a frame and caller state. |