GrapeCity.Documents.Imaging
Represents a bi-level transparency mask or an image containing two colors - black and white in either a white-is-zero or black-is-zero format.
Applies a license key to an instance of .
The license key to set.
Initializes a new instance of the class.
The width of the image, in pixels.
The height of the image, in pixels.
If true, pixels are arranged within a byte such that pixels with lower column indices are stored in the lower-order bits of the byte.
If true, the image is used to define an irregularly shaped region of another image.
If true, specifies that 0 represents white and 1 represents black.
The horizontal dpi of the image.
The vertical dpi of the image.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets a value indicating whether the has been disposed of.
For internal use only.
Gets the pixel width of the image.
Gets the pixel height of the image.
Gets the number of bytes in one scan line.
Gets or sets a value specifying whether pixels with lower column indices are stored in the lower-order bits of the byte.
Setting this property causes an update to the pixel data.
Gets or sets a value indicating whether the image is used to define an irregularly shaped region of another image.
Gets or sets a value indicating whether 0 represents white and 1 represents black (if true) or vice versa (if false).
Gets or sets an instance of with Exif metadata of the image.
Gets or sets the raw ICC profile data.
Gets or sets a pixel value (true is 1, false is 0) at the specified coordinates.
The X coordinate.
The Y coordinate.
Gets the horizontal dpi of the bitmap.
Gets the vertical dpi of the bitmap.
Gets a pointer to the internal binary data.
Creates an instance of the class from the current .
A new instance of the class.
Copies the image into an existing instance of .
The target object.
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
Creates an instance of the class from a .
The source object.
The color channel used as the source of bi-level data.
If true, pixels are arranged within a byte such that pixels with lower column indices are stored in the lower-order bits of the byte.
If true, specifies that 0 represents white and 1 represents black in the destination image.
A new instance of the class.
Changes the physical resolution of the image.
The horizontal and vertical resolution.
Changes the physical resolution of the image.
The horizontal resolution.
The vertical resolution.
Inverts all black pixels to white and all white pixels to black.
Clears the with the specified value (true is 1, false is 0).
The value to fill the image (true is 1, false is 0).
Creates a new with a fragment of the image.
Clipping rectangle of the source image to be extracted as a new .
Creates a new with a copy of the image.
Provides methods for drawing on a .
Gets the target bitmap.
Gets or sets the sampling mode to use when drawing bitmaps with resizing.
Gets or sets a value indicating whether the graphic objects are drawn without antialiasing.
Gets or sets a value specifying whether a is always drawn with antialiasing regardless the value of the property.
Gets or sets a value indicating whether the antialiasing algorithm should produce better quality with lower speed.
Gets or sets a value indicating whether the rendering engine uses multiple threads to boost performance.
Gets or sets the world transformation matrix.
Gets or sets the inverted world transformation matrix. Used for filling regions with gradient brushes.
is automatically updated when the property is changed.
Gets or sets a region to which the subsequient drawing operations are clipped.
Gets or sets a rectangle, in pixels, to which all subsequent drawing operations are clipped.
Clears the image with the specified color.
Clears the image with the specified color.
Fills a with a solid color.
Fills a with a solid color.
Fills a with the given brush.
Fills a with the given brush.
Fills a with a solid color.
Fills a with a solid color.
Fills a with the given brush.
Fills a with the given brush.
Draws a at the specified location and with the specified size.
The to draw.
Specifies the location and size of the drawn image.
The opacity [0, 1] of the source bitmap, to multiply to the source bitmap's alpha channel.
Draws a at the given location.
The to draw.
The origin x-coordinate.
The origin y-coordinate.
Represents a 5x4 matrix for altering the RGBA values of a .
Value at row 1 column 1 of the ColorMatrix5x4.
Value at row 1 column 2 of the ColorMatrix5x4.
Value at row 1 column 3 of the ColorMatrix5x4.
Value at row 1 column 4 of the ColorMatrix5x4.
Value at row 2 column 1 of the ColorMatrix5x4.
Value at row 2 column 2 of the ColorMatrix5x4.
Value at row 2 column 3 of the ColorMatrix5x4.
Value at row 2 column 4 of the ColorMatrix5x4.
Value at row 3 column 1 of the ColorMatrix5x4.
Value at row 3 column 2 of the ColorMatrix5x4.
Value at row 3 column 3 of the ColorMatrix5x4.
Value at row 3 column 4 of the ColorMatrix5x4.
Value at row 4 column 1 of the ColorMatrix5x4.
Value at row 4 column 2 of the ColorMatrix5x4.
Value at row 4 column 3 of the ColorMatrix5x4.
Value at row 4 column 4 of the ColorMatrix5x4.
Value at row 5 column 1 of the ColorMatrix5x4.
Value at row 5 column 2 of the ColorMatrix5x4.
Value at row 5 column 3 of the ColorMatrix5x4.
Value at row 5 column 4 of the ColorMatrix5x4.
Creates an identity with M11, M22, M33, M44 components set to 1.
Initializes a new instance of the object.
The value that will be assigned to all components.
Initializes a new instance of the struct.
The value to assign at row 1 column 1 of the ColorMatrix5x4.
The value to assign at row 1 column 2 of the ColorMatrix5x4.
The value to assign at row 1 column 3 of the ColorMatrix5x4.
The value to assign at row 1 column 4 of the ColorMatrix5x4.
The value to assign at row 2 column 1 of the ColorMatrix5x4.
The value to assign at row 2 column 2 of the ColorMatrix5x4.
The value to assign at row 2 column 3 of the ColorMatrix5x4.
The value to assign at row 2 column 4 of the ColorMatrix5x4.
The value to assign at row 3 column 1 of the ColorMatrix5x4.
The value to assign at row 3 column 2 of the ColorMatrix5x4.
The value to assign at row 3 column 3 of the ColorMatrix5x4.
The value to assign at row 3 column 4 of the ColorMatrix5x4.
The value to assign at row 4 column 1 of the ColorMatrix5x4.
The value to assign at row 4 column 2 of the ColorMatrix5x4.
The value to assign at row 4 column 3 of the ColorMatrix5x4.
The value to assign at row 4 column 4 of the ColorMatrix5x4.
The value to assign at row 5 column 1 of the ColorMatrix5x4.
The value to assign at row 5 column 2 of the ColorMatrix5x4.
The value to assign at row 5 column 3 of the ColorMatrix5x4.
The value to assign at row 5 column 4 of the ColorMatrix5x4.
Initializes a new instance of the struct.
The values to assign to the components of the ColorMatrix5x4. This must be an array with 20 elements.
Creates an array containing the elements of the ColorMatrix5x4.
Gets or sets the component at the specified index.
The value of the ColorMatrix5x4 component, depending on the index.
The zero-based index of the component to access.
The value of the component at the specified index.
Gets or sets the component at the specified index.
The value of the ColorMatrix5x4 component, depending on the index.
The zero-based index of row of the ColorMatrix5x4 to access.
The zero-based index of column of the ColorMatrix5x4 to access.
The value of the component at the specified index.
Returns a string that represents the current object.
Determines whether the specified is equal to this instance.
Determines whether the specified is equal to this instance.
Tests for equality between two objects.
The first value to compare.
The second value to compare.
true if has the same value as ; otherwise, false.
Tests for inequality between two objects.
The first value to compare.
The second value to compare.
true if has a different value than ; otherwise, false.
Determines whether two instances of are equal.
Returns a hash code for this instance.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
The base class for all in-place effects, not creating a new .
Applies the effect to the specified .
The target .
Applies the effect to a part of the specified .
The target .
The x-coordinate of the target rectangle, in pixels.
The y-coordinate of the target rectangle, in pixels.
The width of the target rectangle, in pixels.
The height of the target rectangle, in pixels.
In-place effect that converts a monochromatic (grayscale) image to bi-level image using Bradley and Roth's method of adaptive image thresholding.
Returns an instance of the class.
A divider of the image width to calculate the value of s.
The value of t parameter.
In-place effect that updates the image brightness and contrast.
Returns an instance of the class.
A value from -255 to 255 for adjusting the brightness level.
A value from -255 to 255 for adjusting the contrast level.
In-place effect that alters the RGBA values of a bitmap.
Initializes an instance of the class.
A 5x4 matrix of float values.
In-place effect that converts a monochromatic (grayscale) image to bi-level image with two-dimensional error diffusion dithering.
Returns an instance of the class.
The method of two-dimensional error diffusion dithering.
In-place effect that applies gamma correction to the image.
Returns an instance of the class.
A value of Gamma, from 0.001f to 1000f.
In-place effect that converts an image to monochromatic gray.
Returns an instance of the class.
A grayscale standard used for converting full-color image to monochromatic gray.
In-place effect that alters the hue of an image based on the rotation angle.
Returns an instance of the class.
The angle to rotate the hue, in degrees.
In-place effect that sets the alpha channel to the luminance of the image and sets the color channels to 0.
Returns an instance of the class.
In-place effect that adjusts the opacity of an image by multiplying the alpha channel of the input by the specified opacity value.
Returns an instance of the class.
The multiplier to the input image's alpha channel. The minimum value is 0.0f and the maximum value is 1.0f.
In-place effect that converts a monochromatic (grayscale) image to bi-level image using Otsu's method of clustering-based image thresholding.
Returns an instance of the class.
In-place effect that alters the saturation of an image.
Returns an instance of the class.
The saturation of the image between 0.0f (monochrome) and 1.0f (fully saturated).
In-place effect that converts an image to sepia tones.
Returns an instance of the class.
In-place effect that alters the temperature and tint of an image.
Returns an instance of the class.
Specifies how much to increase or decrease the temperature of the input image. The allowed range is -1.0f to 1.0f.
Specifies how much to increase or decrease the tint of the input image. The allowed range is -1.0f to 1.0f.
Represents an ellipse-like closed path.
Initializes a new instance of the class.
Initializes a new instance of the class.
Gets or sets the bounds for the elliptic region.
Gets or sets a value indicating if the points should be arranged counterclockwise.
Gets or sets the transformation matrix.
Gets a value indicating if the figure is closed, i.e. a line is drawn between the end point of the last segment and the start point.
Reverses the order of points in the figure.
Gets the maximum number of intersections that a polygon can have when testing a line.
Gets points in world coordinates that will be joined by straight lines to form the polygon.
Gets the minimum X coordinate among the transformed points.
Gets the maximum X coordinate among the transformed points.
Gets the minimum Y coordinate among the transformed points.
Gets the maximum Y coordinate among the transformed points.
Creates a copy of the current figure.
Converts each curve in this figure into a sequence of connected line segments.
A matrix with additional world transformation by which to transform this figure before flattening.
True if the figure has some interior
Defines the method of mixing the colors with the backdrop (source and destination colors).
This is the default attribute which specifies no blending.
The source color is multiplied by the destination color and replaces the destination.
The resultant color is always at least as dark as either the source or destination color.
Multiplies the complements of the backdrop and source color values, then complements the result.
The result color is always at least as light as either of the two constituent colors.
Multiplies or screens the colors, depending on the backdrop color value.
Source colors overlay the backdrop while preserving its highlights and shadows.
Selects the darker of the backdrop and source colors.
The backdrop is replaced with the source where the source is darker; otherwise, it is left unchanged.
Selects the lighter of the backdrop and source colors.
The backdrop is replaced with the source where the source is lighter; otherwise, it is left unchanged.
Brightens the backdrop color to reflect the source color.
Painting with black produces no changes.
Darkens the backdrop color to reflect the source color.
Painting with white produces no change.
Multiplies or screens the colors, depending on the source color value.
The effect is similar to shining a harsh spotlight on the backdrop.
Darkens or lightens the colors, depending on the source color value.
The effect is similar to shining a diffused spotlight on the backdrop.
Subtracts the darker of the two constituent colors from the lighter color.
Painting with white inverts the backdrop color; painting with black produces no change.
Produces an effect similar to that of the Difference mode but lower in contrast.
Painting with white inverts the backdrop color; painting with black produces no change.
Creates a color with the hue of the source color and the saturation and luminosity of the backdrop color.
Creates a color with the saturation of the source color and the hue and luminosity of the backdrop color.
Painting with this mode in an area of the backdrop that is a pure gray (no saturation) produces no change.
Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color.
This preserves the gray levels of the backdrop and is useful for coloring monochrome images or tinting color images.
Creates a color with the luminosity of the source color and the hue and saturation of the backdrop color.
This produces an inverse effect to that of the Color mode.
Specifies the color channel to operate on.
The Blue channel is chosen.
The Green channel is chosen.
The Red channel is chosen.
The Alpha channel is chosen.
Specifies the Porter Duff compositing method in which two pixels (source and destination) may contribute to the final color of the pixel.
No regions are enabled.
Only the source will be present.
Only the destination will be present.
Source is placed over the destination.
Destination is placed over the source.
The source that overlaps the destination, replaces the destination.
Destination which overlaps the source, replaces the source.
Source is placed, where it falls outside of the destination.
Destination is placed, where it falls outside of the source.
Source which overlaps the destination, replaces the destination. Destination is placed elsewhere.
Destination which overlaps the source replaces the source. Source is placed elsewhere.
The non-overlapping regions of source and destination are combined.
Display the sum of the source image and destination image.
Specifies the method of two-dimensional error diffusion dithering.
Don't spread the error to neighbor pixels.
Floyd-Steinberg dithering.
Jarvis, Judice, and Ninke filter.
Stucki dithering.
Bill Atkinson's formula.
Burkes dithering.
Frankie Sierra's dithering algorithm (sometimes called Sierra-3).
Simplified two-row Sierra algorithm.
Sierra Lite dithering.
Specifies the flip and rotation transformations.
No transformation.
A clockwise rotation of 90 degrees.
A clockwise rotation of 180 degrees.
A counter-clockwise rotation of 90 degrees.
A horizontal flip. Pixels are flipped around the vertical y-axis.
A horizontal flip, then a clockwise rotation of 90 degrees.
A horizontal flip, then a counter-clockwise rotation of 90 degrees.
A vertical flip. Pixels are flipped around the horizontal x-axis.
Indicates the way in which the GIF frame has to be treated after being displayed.
No disposal specified. The decoder is not required to take any action.
Do not dispose. The graphic is to be left in place.
Restore to background color. The area used by the graphic must be restored to the background color.
Restore to previous. The decoder is required to restore the area overwritten by the graphic with what was there prior to rendering the graphic.
Specifies the standard used for converting full-color image to monochromatic gray.
Corresponds to the standard color TV and video systems such as PAL and NTSC.
Correspoinds to the ITU-R BT.709 standard used for HDTV.
Correspoinds to the ITU-R BT.2100 standard for HDR television.
Specifies the sampling or filtering mode to use when scaling an image.
A nearest neighbor interpolation algorithm. Also known as nearest pixel or point interpolation.
The output pixel is assigned the value of the pixel that the point falls within. No other pixels are considered.
A bilinear interpolation algorithm.
The output pixel values are computed as a weighted average of the nearest four pixels in a 2x2 grid.
For downscaling by factors greater than 2 use the Downscale interpolation mode.
A bicubic interpolation algorithm.
Destination pixel values are computed as a weighted average of the nearest sixteen pixels in a 4x4 grid.
For downscaling by factors greater than 2 use the Downscale interpolation mode.
A resampling algorithm for downscaling by factors greater than 2.
Destination pixel values are computed as a weighted average of the all the pixels that map to the new pixel.
Specifies the different methods by which two regions can be combined.
The two regions are combined by taking the union of both.
The two regions are combined by taking their intersection.
The two regions are combined by taking the area that exists in the first region but not the second and the area that exists in the second region but not the first.
The second region is excluded from the first.
Compression scheme used for encoding TIFF image data.
Indicates a suitable compression algorithm based on the image and pixel format.
No compression, but pack data into bytes as tightly as possible, leaving no unused bits (except at the end of a row).
CCITT Group 3 1-Dimensional Modified Huffman run length encoding.
T4-encoding: CCITT T.4 bi-level encoding as specified in section 4, Coding, of CCITT Recommendation T.4: “Standardization of Group 3 Facsimile apparatus for document transmission.”
T6-encoding: CCITT T.6 bi-level encoding as specified in section 2 of CCITT Recommendation T.6: “Facsimile coding schemes and coding control functions for Group 4 facsimile apparatus.”
An adaptive compression scheme for raster images.
Deflate compression, using zlib data format.
A simple byte-oriented runlength scheme.
The orientation of the image.
Normal horizontal (default).
Mirror horizontal.
Rotate 180 degrees.
Mirror vertical.
Mirror horizontal and rotate 90 degrees counterclockwise.
Rotate 90 degrees clockwise.
Mirror horizontal and rotate 90 degrees clockwise.
Rotate 90 degrees counterclockwise.
Specifies whether an image can be loaded from TIFF frame and the reason if it can't.
No problems found. Image can be loaded from a .
CCITT_1D, Group_3_Fax, and Group_4_Fax compression schemes are only supported for SamplesPerPixel = 1 and BitsPerSample = 1.
ColorMap is a required field for the RGB_Palette color space.
The specified color space (WhiteIsZero, BlackIsZero, TransparencyMask, or RGB_Palette) supports only one component (sample) per pixel.
StripOffsets or StripByteCounts fields are missing (while TileWidth and TileLength are not defined).
TileOffsets or TileByteCounts fields are missing for a tiled TIFF frame.
TileWidth must be a multiple of 16 (or at least of 8 for ).
Unexpected value of the BitsPerSample field.
Unexpected value of the ExtraSamples field. supports single associated or unassociated alpha component.
TIFF frame's compression scheme is not currently supported in .
Differencing Predictor is supported for LZW and Deflate TIFF encoding schemes only.
FillOrder = 2 is only supported for SamplesPerPixel = 1 and BitsPerSample = 1.
Indexed images with BitsPerSample other than 4 or 8 are not currently supported in .
The specified color space of the image data is not currently supported in .
RGB images with SamplesPerPixel other than 3 or 4 are not currently supported in .
Either TileWidth or TileLength are equal to zero for a tiled TIFF frame.
TIFF frame has either width or length equal to zero.
Data types used in Exif.
An 8-bit unsigned integer.
An 8-bit byte containing one 7-bit ASCII code. The final byte is terminated with NULL.
A 16-bit (2-byte) unsigned integer.
A 32-bit (4-byte) unsigned integer.
Two LONGs. The first LONG is the numerator and the second LONG expresses the denominator.
An 8-bit signed (twos-complement) integer.
An 8-bit byte that may take any value depending on the field definition.
A 16-bit (2-byte) signed (twos-complement) integer.
(4-byte) signed integer (2's complement notation).
Two SLONGs. The first SLONG is the numerator and the second SLONG is the denominator.
Single precision (4-byte) IEEE format.
Double precision (8-byte) IEEE format.
Identical to LONG, but is only used to point to other valid IFDs.
Specifies the part of Exif matadata used for storing a specific tag.
IFD tags that follow the TIFF structure.
A set of tags for recording Exif-specific attribute information.
A set of tags for recording information such as GPS information.
A set of tags which store the information to ensure the Interoperability.
Values corresponding to Exif tags.
A string that describes the subject of the image.
The scanner manufacturer.
The scanner model name or number.
The orientation of the image with respect to the rows and columns.
The number of pixels per ResolutionUnit in the width direction.
The number of pixels per ResolutionUnit in the height (length) direction.
The unit of measurement for XResolution and YResolution.
Name and version number of the software package(s) used to create the image.
Date and time of image creation.
Person who created the image.
The chromaticity of the white point of the image.
The chromaticities of the primaries of the image.
Copyright notice.
Exposure time, given in seconds.
The F number.
The class of the program used by the camera to set exposure when the picture is taken.
Indicates the spectral sensitivity of each channel of the camera used.
Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232.
Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
The SensitivityType tag indicates which one of the parameters of ISO12232 is the PhotographicSensitivity tag.
This tag indicates the standard output sensitivity value of a camera or input device defined in ISO 12232.
This tag indicates the recommended exposure index value of a camera or input device defined in ISO 12232.
This tag indicates the ISO speed value of a camera or input device that is defined in ISO 12232.
This tag indicates the ISO speed latitude yyy value of a camera or input device that is defined in ISO 12232.
This tag indicates the ISO speed latitude zzz value of a camera or input device that is defined in ISO 12232.
The version of the supported Exif standard.
The date and time when the original image data was generated.
The date and time when the image was stored as digital data.
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTime tag.
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeOriginal tag.
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeDigitized tag.
Specific to compressed data; specifies the channels and complements PhotometricInterpretation.
Specific to compressed data; states the compressed bits per pixel.
Shutter speed. The unit is the APEX (Additive System of Photographic Exposure) setting.
The lens aperture.
The value of brightness.
The exposure bias.
The smallest F number of the lens.
The distance to the subject, given in meters.
The metering mode.
The kind of light source.
Indicates the status of flash when the image was shot.
The actual focal length of the lens, in mm.
Indicates the location and area of the main subject in the overall scene.
Manufacturer specific information.
Keywords or comments on the image; complements ImageDescription.
A tag used to record fractions of seconds for the DateTime tag.
A tag used to record fractions of seconds for the DateTimeOriginal tag.
A tag used to record fractions of seconds for the DateTimeDigitized tag.
Temperature as the ambient situation at the shot, for example the room temperature where the photographer was holding the camera. The unit is °C.
Humidity as the ambient situation at the shot, for example the room humidity where the photographer was holding the camera. The unit is %.
Pressure as the ambient situation at the shot, for example the room atmospfere where the photographer was holding the camera or the water pressure under the sea. The unit is hPa.
Water depth as the ambient situation at the shot, for example the water depth of the camera at underwater photography. The unit is m.
Acceleration (a scalar regardless of direction) as the ambient situation at the shot, for example the driving acceleration of the vehicle which the photographer rode on at the shot. The unit is mGal (10-5 m/s2).
Elevation/depression. Angle of the orientation of the camera (imaging optical axis) as the ambient situation at the shot. The unit is degree(°).
The Flashpix format version supported by a FPXR file.
The color space information tag is always recorded as the color space specifier.
Specific to compressed data; the valid width of the meaningful image.
Specific to compressed data; the valid height of the meaningful image.
Used to record the name of an audio file related to the image data.
Indicates the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds.
Records the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233.
Indicates the number of pixels in the image width (X) direction per FocalPlaneResolutionUnit on the camera focal plane.
Indicates the number of pixels in the image height (Y) direction per FocalPlaneResolutionUnit on the camera focal plane.
Indicates the unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
Indicates the location of the main subject in the scene.
Indicates the exposure index selected on the camera or input device at the time the image is captured.
Indicates the image sensor type on the camera or input device.
Indicates the image source.
Indicates the type of scene.
Indicates the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used.
Indicates the use of special processing on image data, such as rendering geared to output.
Indicates the exposure mode set when the image was shot.
Indicates the white balance mode set when the image was shot.
Indicates the digital zoom ratio when the image was shot.
Indicates the equivalent focal length assuming a 35mm film camera, in mm.
Indicates the type of scene that was shot.
Indicates the degree of overall image gain adjustment.
Indicates the direction of contrast processing applied by the camera when the image was shot.
Indicates the direction of saturation processing applied by the camera when the image was shot.
Indicates the direction of sharpness processing applied by the camera when the image was shot.
This tag indicates information on the picture-taking conditions of a particular camera model.
Indicates the distance to the subject.
Indicates an identifier assigned uniquely to each image.
This tag records the owner of a camera used in photography.
This tag records the serial number of the body of the camera that was used in photography.
This tag notes minimum focal length, maximum focal length, minimum F number in the minimum focal length, and minimum F number in the maximum focal length, which are specification information for the lens that was used in photography.
This tag records the lens manufacturer.
This tag records the lens’s model name and model number.
This tag records the serial number of the interchangeable lens that was used in photography.
Indicates the value of coefficient gamma.
Indicates the version of GPSInfoIFD.
Indicates whether the latitude is north or south latitude.
Indicates the latitude.
Indicates whether the longitude is east or west longitude.
Indicates the longitude.
Indicates the altitude used as the reference altitude.
Indicates the altitude based on the reference in GPSAltitudeRef.
Indicates the time as UTC (Coordinated Universal Time). TimeStamp is expressed as three RATIONAL values giving the hour, minute, and second.
Indicates the GPS satellites used for measurements.
Indicates the status of the GPS receiver when the image is recorded.
Indicates the GPS measurement mode.
Indicates the GPS DOP (data degree of precision).
Indicates the unit used to express the GPS receiver speed of movement.
Indicates the speed of GPS receiver movement.
Indicates the reference for giving the direction of GPS receiver movement.
Indicates the direction of GPS receiver movement.
Indicates the reference for giving the direction of the image when it is captured.
Indicates the direction of the image when it was captured.
Indicates the geodetic survey data used by the GPS receiver.
Indicates whether the latitude of the destination point is north or south latitude.
Indicates the latitude of the destination point.
Indicates whether the longitude of the destination point is east or west longitude.
Indicates the longitude of the destination point.
Indicates the reference used for giving the bearing to the destination point.
Indicates the bearing to the destination point.
Indicates the unit used to express the distance to the destination point.
Indicates the distance to the destination point.
A character string recording the name of the method used for location finding.
A character string recording the name of the GPS area.
A character string recording date and time information relative to UTC (Coordinated Universal Time).
Indicates whether differential correction is applied to the GPS receiver.
This tag indicates horizontal positioning errors in meters.
Indicates the identification of the Interoperability rule.
The color space specifier.
Not defined (default).
The color space based on the PC monitor conditions and environment.
Indicates that a color space other than sRGB is used.
Unrecognized value
Indicates the direction of contrast processing applied by the camera when the image was shot.
Normal (default)
Soft
Hard
Unrecognized value
Indicates the use of special processing on image data, such as rendering geared to output.
Normal process (default)
Custom process
Unrecognized value
Indicates the exposure mode set when the image was shot.
Not defined (default).
Auto exposure
Manual exposure
Auto bracket
Unrecognized value
The class of the program used by the camera to set exposure when the picture is taken.
Not defined (default).
Manual
Normal program
Aperture priority
Shutter priority
Creative program (biased toward depth of field)
Action program (biased toward fast shutter speed)
Portrait mode (for closeup photos with the background out of focus)
Landscape mode (for landscape photos with the background in focus)
Unrecognized value
Indicates the image source.
Others
Scanner of transparent type
Scanner of reflex type
Digital camera (default)
Unrecognized value
Indicates the status of flash when the image was shot.
Flash not available.
Flash fired.
Strobe return light detected.
Strobe return detection function exists.
Compulsory flash firing.
Compulsory flash suppression.
Auto mode.
No flash function.
Red-eye reduction supported.
Indicates the degree of overall image gain adjustment.
Not defined (default).
None
Low gain up
High gain up
Low gain down
High gain down
Unrecognized value
The kind of light source.
Not defined (default).
Daylight
Fluorescent
Tungsten (incandescent light)
Flash
Fine weather
Cloudy weather
Shade
Daylight fluorescent (D 5700 - 7100K)
Day white fluorescent (N 4600 - 5500K)
Cool white fluorescent (W 3800 - 4500K)
White fluorescent (WW 3250 - 3800K)
Warm white fluorescent (L 2600 - 3250K)
Standard light A
Standard light B
Standard light C
D55
D65
D75
D50
ISO studio tungsten
Other light source
Unrecognized value
The metering mode.
Not defined (default).
Average
CenterWeightedAverage
Spot
MultiSpot
Pattern
Partial
Other
Unrecognized value
The orientation of the image.
Normal horizontal (default).
Mirror horizontal.
Rotate 180 degrees.
Mirror vertical.
Mirror horizontal and rotate 90 degrees counterclockwise.
Rotate 90 degrees clockwise.
Mirror horizontal and rotate 90 degrees clockwise.
Rotate 90 degrees counterclockwise.
Unrecognized value
The unit of measurement for XResolution, YResolution, FocalPlaneXResolution, FocalPlaneYResolution.
Inches (default)
Centimeters
No absolute unit of measurement.
Unrecognized value
Indicates the direction of saturation processing applied by the camera when the image was shot.
Normal (default)
Low saturation
High saturation
Unrecognized value
Indicates the type of scene that was shot.
Standard (default)
Landscape
Portrait
Night scene
Unrecognized value
Indicates the image sensor type on the camera or input device.
Not defined (default).
One-chip color area sensor
Two-chip color area sensor
Three-chip color area sensor
Color sequential area sensor
Trilinear sensor
Color sequential linear sensor
Unrecognized value
Indicates which one of the parameters of ISO12232 is the .
Not defined (default).
Standard output sensitivity (SOS)
Recommended exposure index (REI)
ISO speed
Standard output sensitivity (SOS) and recommended exposure index (REI)
Standard output sensitivity (SOS) and ISO speed
Recommended exposure index (REI) and ISO speed
Standard output sensitivity (SOS) and recommended exposure index (REI) and ISO speed
Unrecognized value
Indicates the direction of sharpness processing applied by the camera when the image was shot.
Normal (default)
Soft
Hard
Unrecognized value
Indicates the distance to the subject.
Not defined (default).
Macro
Close view
Distant view
Unrecognized value
Indicates the use of special processing on image data, such as rendering geared to output.
Not defined (default).
Auto white balance
Manual white balance
Unrecognized value
Indicates the altitude used as the reference altitude.
Sea level (default)
Sea level reference (negative value)
Unrecognized value
Indicates whether differential correction is applied to the GPS receiver.
Not defined (default).
Measurement without differential correction
Differential correction applied
Unrecognized value
Indicates the reference for giving the direction.
True direction (default)
Magnetic direction
Unrecognized value
Indicates the unit used to express the distance.
Kilometers (default)
Miles
Nautical miles
Unrecognized value
Indicates whether the latitude is north or south latitude.
Not defined (default).
North latitude
South latitude
Unrecognized value
Indicates whether the longitude is east or west longitude.
Not defined (default).
East longitude
West longitude
Unrecognized value
Indicates the GPS measurement mode.
Not defined (default).
2-dimensional measurement
3-dimensional measurement
Unrecognized value
Indicates the unit used to express the GPS receiver speed of movement.
Kilometers per hour (default)
Miles per hour
Knots
Unrecognized value
Indicates whether the longitude is east or west longitude.
Not defined (default).
Measurement in progress
Measurement interrupted
Unrecognized value
Exif tags that follow the TIFF structure.
The number of columns in the image, i.e., the number of pixels per row.
The number of rows of pixels in the image.
Number of bits per component.
Compression scheme used on the image data.
The color space of the image data.
A string that describes the subject of the image.
The scanner manufacturer.
The scanner model name or number.
For each strip, the byte offset of that strip.
The orientation of the image with respect to the rows and columns.
The number of components per pixel.
The number of rows per strip.
For each strip, the number of bytes in the strip after compression.
The number of pixels per ResolutionUnit in the ImageWidth direction.
The number of pixels per ResolutionUnit in the ImageLength direction.
How the components of each pixel are stored.
The unit of measurement for XResolution and YResolution.
Describes a transfer function for the image in tabular style.
Name and version number of the software package(s) used to create the image.
Date and time of image creation.
Person who created the image.
The chromaticity of the white point of the image.
The chromaticities of the primaries of the image.
Offset to JPEG SOI.
Bytes of JPEG data.
The transformation from RGB to YCbCr image data.
Specifies the subsampling factors used for the chrominance components of a YCbCr image.
Specifies the positioning of subsampled chrominance components relative to luminance samples.
Specifies a pair of headroom and footroom image data values (codes) for each pixel component.
Copyright notice.
A pointer to the Exif IFD.
A pointer to the GPS IFD.
A set of tags for recording Exif-specific attribute information.
Exposure time, given in seconds.
The F number.
The class of the program used by the camera to set exposure when the picture is taken.
Indicates the spectral sensitivity of each channel of the camera used.
Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232.
Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
The SensitivityType tag indicates which one of the parameters of ISO12232 is the PhotographicSensitivity tag.
This tag indicates the standard output sensitivity value of a camera or input device defined in ISO 12232.
This tag indicates the recommended exposure index value of a camera or input device defined in ISO 12232.
This tag indicates the ISO speed value of a camera or input device that is defined in ISO 12232.
This tag indicates the ISO speed latitude yyy value of a camera or input device that is defined in ISO 12232.
This tag indicates the ISO speed latitude zzz value of a camera or input device that is defined in ISO 12232.
The version of the supported Exif standard.
The date and time when the original image data was generated.
The date and time when the image was stored as digital data.
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTime tag.
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeOriginal tag.
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeDigitized tag.
Specific to compressed data; specifies the channels and complements PhotometricInterpretation.
Specific to compressed data; states the compressed bits per pixel.
Shutter speed. The unit is the APEX (Additive System of Photographic Exposure) setting.
The lens aperture.
The value of brightness.
The exposure bias.
The smallest F number of the lens.
The distance to the subject, given in meters.
The metering mode.
The kind of light source.
Indicates the status of flash when the image was shot.
The actual focal length of the lens, in mm.
Indicates the location and area of the main subject in the overall scene.
Manufacturer specific information.
Keywords or comments on the image; complements ImageDescription.
A tag used to record fractions of seconds for the DateTime tag.
A tag used to record fractions of seconds for the DateTimeOriginal tag.
A tag used to record fractions of seconds for the DateTimeDigitized tag.
Temperature as the ambient situation at the shot, for example the room temperature where the photographer was holding the camera. The unit is °C.
Humidity as the ambient situation at the shot, for example the room humidity where the photographer was holding the camera. The unit is %.
Pressure as the ambient situation at the shot, for example the room atmospfere where the photographer was holding the camera or the water pressure under the sea. The unit is hPa.
Water depth as the ambient situation at the shot, for example the water depth of the camera at underwater photography. The unit is m.
Acceleration (a scalar regardless of direction) as the ambient situation at the shot, for example the driving acceleration of the vehicle which the photographer rode on at the shot. The unit is mGal (10-5 m/s2).
Elevation/depression. Angle of the orientation of the camera (imaging optical axis) as the ambient situation at the shot. The unit is degree(°).
The Flashpix format version supported by a FPXR file.
The color space information tag is always recorded as the color space specifier.
Specific to compressed data; the valid width of the meaningful image.
Specific to compressed data; the valid height of the meaningful image.
Used to record the name of an audio file related to the image data.
Interoperability tag.
Indicates the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds.
Records the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233.
Indicates the number of pixels in the image width (X) direction per FocalPlaneResolutionUnit on the camera focal plane.
Indicates the number of pixels in the image height (Y) direction per FocalPlaneResolutionUnit on the camera focal plane.
Indicates the unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
Indicates the location of the main subject in the scene.
Indicates the exposure index selected on the camera or input device at the time the image is captured.
Indicates the image sensor type on the camera or input device.
Indicates the image source.
Indicates the type of scene.
Indicates the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used.
Indicates the use of special processing on image data, such as rendering geared to output.
Indicates the exposure mode set when the image was shot.
Indicates the white balance mode set when the image was shot.
Indicates the digital zoom ratio when the image was shot.
Indicates the equivalent focal length assuming a 35mm film camera, in mm.
Indicates the type of scene that was shot.
Indicates the degree of overall image gain adjustment.
Indicates the direction of contrast processing applied by the camera when the image was shot.
Indicates the direction of saturation processing applied by the camera when the image was shot.
Indicates the direction of sharpness processing applied by the camera when the image was shot.
This tag indicates information on the picture-taking conditions of a particular camera model.
Indicates the distance to the subject.
Indicates an identifier assigned uniquely to each image.
This tag records the owner of a camera used in photography.
This tag records the serial number of the body of the camera that was used in photography.
This tag notes minimum focal length, maximum focal length, minimum F number in the minimum focal length, and minimum F number in the maximum focal length, which are specification information for the lens that was used in photography.
This tag records the lens manufacturer.
This tag records the lens’s model name and model number.
This tag records the serial number of the interchangeable lens that was used in photography.
Indicates the value of coefficient gamma.
A set of tags for recording information such as GPS information.
Indicates the version of GPSInfoIFD.
Indicates whether the latitude is north or south latitude.
Indicates the latitude.
Indicates whether the longitude is east or west longitude.
Indicates the longitude.
Indicates the altitude used as the reference altitude.
Indicates the altitude based on the reference in GPSAltitudeRef.
Indicates the time as UTC (Coordinated Universal Time).
Indicates the GPS satellites used for measurements.
Indicates the status of the GPS receiver when the image is recorded.
Indicates the GPS measurement mode.
Indicates the GPS DOP (data degree of precision).
Indicates the unit used to express the GPS receiver speed of movement.
Indicates the speed of GPS receiver movement.
Indicates the reference for giving the direction of GPS receiver movement.
Indicates the direction of GPS receiver movement.
Indicates the reference for giving the direction of the image when it is captured.
Indicates the direction of the image when it was captured.
Indicates the geodetic survey data used by the GPS receiver.
Indicates whether the latitude of the destination point is north or south latitude.
Indicates the latitude of the destination point.
Indicates whether the longitude of the destination point is east or west longitude.
Indicates the longitude of the destination point.
Indicates the reference used for giving the bearing to the destination point.
Indicates the bearing to the destination point.
Indicates the unit used to express the distance to the destination point.
Indicates the distance to the destination point.
A character string recording the name of the method used for location finding.
A character string recording the name of the GPS area.
A character string recording date and time information relative to UTC (Coordinated Universal Time).
Indicates whether differential correction is applied to the GPS receiver.
This tag indicates horizontal positioning errors in meters.
A set of tags which store the information to ensure the Interoperability.
Indicates the identification of the Interoperability rule.
Represents Exif metadata of an image.
Initializes a new instance of .
Gets or sets a value indicating if the data should be saved in big endian format.
Gets the list of values with unknown tags.
Gets the value corresponding to the specific tag.
Gets or sets the identification of the Interoperability rule.
Gets or sets the orientation of the image with respect to the rows and columns.
Gets or sets the orientation of the image with respect to the rows and columns.
The value is in raw format as defined in Exif specification.
Gets or sets the number of pixels per ResolutionUnit in the ImageWidth direction.
Gets or sets the number of pixels per ResolutionUnit in the ImageLength direction.
Gets or sets the unit of measurement for XResolution and YResolution.
Gets or sets the unit of measurement for XResolution and YResolution.
The value is in raw format as defined in Exif specification.
Gets or sets the chromaticity of the white point of the image.
Gets or sets the chromaticities of the primaries of the image.
Gets or sets the date and time of image creation.
Gets or sets the date and time of image creation.
The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character.
Gets or sets a string that describes the subject of the image.
Gets or sets the scanner manufacturer.
Gets or sets the scanner model name or number.
Gets or sets the name and version number of the software package(s) used to create the image.
Gets or sets a string identifying the person who created the image.
Gets or sets a copyright notice.
Gets or sets the version of the supported Exif standard.
Gets or sets the Flashpix format version supported by a FPXR file.
Gets or sets the color space specifier.
Gets or sets the color space specifier.
The value is in raw format as defined in Exif specification.
Gets or sets the value of coefficient gamma.
Gets or sets the valid width of the meaningful image (specific to compressed data).
Gets or sets the valid height of the meaningful image (specific to compressed data).
Gets or sets the channels and complements PhotometricInterpretation (specific to compressed data).
Gets or sets the number of compressed bits per pixel (specific to compressed data).
Gets or sets the manufacturer specific information.
Gets or sets the keywords or comments on the image; complements ImageDescription.
Gets or sets the keywords or comments on the image; complements ImageDescription.
The value is in raw format as defined in Exif specification.
Gets or sets the name of an audio file related to the image data.
Gets or sets the date and time when the original image data was generated.
Gets or sets the date and time when the original image data was generated.
The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character.
Gets or sets the date and time when the image was stored as digital data.
Gets or sets the date and time when the image was stored as digital data.
The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character.
Gets or sets the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTime tag.
Gets or sets the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTime tag.
The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-".
Gets or sets the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeOriginal tag.
Gets or sets the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeOriginal tag.
The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-".
Gets or sets the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeDigitized tag.
Gets or sets the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeDigitized tag.
The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-".
Gets or sets the fractions of seconds for the DateTime tag.
The value is between 0.0 and 1.0.
Gets or sets the fractions of seconds for the DateTime tag.
The value is in raw format as defined in Exif specification.
Gets or sets the fractions of seconds for the DateTimeOriginal tag.
The value is between 0.0 and 1.0.
Gets or sets the fractions of seconds for the DateTimeOriginal tag.
The value is in raw format as defined in Exif specification.
Gets or sets the fractions of seconds for the DateTimeDigitized tag.
The value is between 0.0 and 1.0.
Gets or sets the fractions of seconds for the DateTimeDigitized tag.
The value is in raw format as defined in Exif specification.
Gets or sets the exposure time, given in seconds.
Gets or sets the F number.
Gets or sets the class of the program used by the camera to set exposure when the picture is taken.
Gets or sets the class of the program used by the camera to set exposure when the picture is taken.
The value is in raw format as defined in Exif specification.
Gets or sets the spectral sensitivity of each channel of the camera used.
Gets or sets the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232.
Gets or sets the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
Gets or sets a value indicating which one of the parameters of ISO12232 is the PhotographicSensitivity tag.
Gets or sets a value indicating which one of the parameters of ISO12232 is the PhotographicSensitivity tag.
The value is in raw format as defined in Exif specification.
Gets or sets the standard output sensitivity value of a camera or input device defined in ISO 12232.
Gets or sets the recommended exposure index value of a camera or input device defined in ISO 12232.
Gets or sets the ISO speed value of a camera or input device that is defined in ISO 12232.
Gets or sets the ISO speed latitude yyy value of a camera or input device that is defined in ISO 12232.
Gets or sets the ISO speed latitude zzz value of a camera or input device that is defined in ISO 12232.
Gets or sets the shutter speed. The unit is the APEX (Additive System of Photographic Exposure) setting.
Gets or sets the lens aperture.
Gets or sets the value of brightness.
Gets or sets the exposure bias.
Gets or sets the smallest F number of the lens.
Gets or sets the distance to the subject, given in meters.
Gets or sets the metering mode.
Gets or sets the metering mode.
The value is in raw format as defined in Exif specification.
Gets or sets the kind of light source.
Gets or sets the kind of light source.
The value is in raw format as defined in Exif specification.
Gets or sets the status of flash when the image was shot.
Gets or sets the status of flash when the image was shot.
The value is in raw format as defined in Exif specification.
Gets or sets the location and area of the main subject in the overall scene.
Gets or sets the actual focal length of the lens, in mm.
Gets or sets the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds.
Gets or sets the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233.
Gets or sets the number of pixels in the image width (X) direction per FocalPlaneResolutionUnit on the camera focal plane.
Gets or sets the number of pixels in the image height (Y) direction per FocalPlaneResolutionUnit on the camera focal plane.
Gets or sets the unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
Gets or sets the unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
The value is in raw format as defined in Exif specification.
Gets or sets the location of the main subject in the scene.
Gets or sets the exposure index selected on the camera or input device at the time the image is captured.
Gets or sets the image sensor type on the camera or input device.
Gets or sets the image sensor type on the camera or input device.
The value is in raw format as defined in Exif specification.
Gets or sets the image source.
Gets or sets the image source.
The value is in raw format as defined in Exif specification.
Gets or sets the type of scene.
Gets or sets the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used.
Gets or sets a value indicating the use of special processing on image data, such as rendering geared to output.
Gets or sets a value indicating the use of special processing on image data, such as rendering geared to output.
The value is in raw format as defined in Exif specification.
Gets or sets the exposure mode set when the image was shot.
Gets or sets the exposure mode set when the image was shot.
The value is in raw format as defined in Exif specification.
Gets or sets the white balance mode set when the image was shot.
Gets or sets the white balance mode set when the image was shot.
The value is in raw format as defined in Exif specification.
Gets or sets the digital zoom ratio when the image was shot.
Gets or sets the equivalent focal length assuming a 35mm film camera, in mm.
Gets or sets the type of scene that was shot.
Gets or sets the type of scene that was shot.
The value is in raw format as defined in Exif specification.
Gets or sets the degree of overall image gain adjustment.
Gets or sets the degree of overall image gain adjustment.
The value is in raw format as defined in Exif specification.
Gets or sets the direction of contrast processing applied by the camera when the image was shot.
Gets or sets the direction of contrast processing applied by the camera when the image was shot.
The value is in raw format as defined in Exif specification.
Gets or sets the direction of saturation processing applied by the camera when the image was shot.
Gets or sets the direction of saturation processing applied by the camera when the image was shot.
The value is in raw format as defined in Exif specification.
Gets or sets the direction of sharpness processing applied by the camera when the image was shot.
Gets or sets the direction of sharpness processing applied by the camera when the image was shot.
The value is in raw format as defined in Exif specification.
Gets or sets information on the picture-taking conditions of a particular camera model.
The value is in raw format as defined in Exif specification.
Gets or sets the distance to the subject.
Gets or sets the distance to the subject.
The value is in raw format as defined in Exif specification.
Gets or sets the temperature as the ambient situation at the shot, the unit is °C.
Gets or sets the humidity as the ambient situation at the shot, the unit is %.
Gets or sets the pressure as the ambient situation at the shot, the unit is hPa.
Gets or sets the water depth as the ambient situation at the shot, the unit is m.
Gets or sets the acceleration (a scalar regardless of direction) as the ambient situation at the shot, the unit is mGal (10-5 m/s2).
Gets or sets the elevation/depression. Angle of the orientation of the camera (imaging optical axis) as the ambient situation at the shot. The unit is degree(°).
Gets or sets an identifier assigned uniquely to each image.
Gets or sets the owner of a camera used in photography.
Gets or sets the serial number of the body of the camera that was used in photography.
Gets or sets the minimum focal length, maximum focal length, minimum F number in the minimum focal length, and minimum F number in the maximum focal length, which are specification information for the lens that was used in photography.
Gets or sets the lens manufacturer.
Gets or sets the lens’s model name and model number.
Gets or sets the serial number of the interchangeable lens that was used in photography.
Gets or sets the version of GPSInfoIFD.
Gets or sets a value indicating whether the latitude is north or south latitude.
Gets or sets a value indicating whether the latitude is north or south latitude.
The value is in raw format as defined in Exif specification.
Gets or sets the latitude.
Gets or sets a value indicating whether the longitude is east or west longitude.
Gets or sets a value indicating whether the longitude is east or west longitude.
The value is in raw format as defined in Exif specification.
Gets or sets the longitude.
Gets or sets the altitude used as the reference altitude.
Gets or sets the altitude used as the reference altitude.
The value is in raw format as defined in Exif specification.
Gets or sets the altitude based on the reference in GPSAltitudeRef.
Gets or sets the time as UTC (Coordinated Universal Time). TimeStamp is expressed as three RATIONAL values giving the hour, minute, and second.
Gets or sets the GPS satellites used for measurements.
Gets or sets the status of the GPS receiver when the image is recorded.
Gets or sets the status of the GPS receiver when the image is recorded.
The value is in raw format as defined in Exif specification.
Gets or sets the GPS measurement mode.
Gets or sets the GPS measurement mode.
The value is in raw format as defined in Exif specification.
Gets or sets the GPS DOP (data degree of precision).
Gets or sets the unit used to express the GPS receiver speed of movement.
Gets or sets the unit used to express the GPS receiver speed of movement.
The value is in raw format as defined in Exif specification.
Gets or sets the speed of GPS receiver movement.
Gets or sets the reference for giving the direction of GPS receiver movement.
Gets or sets the reference for giving the direction of GPS receiver movement.
The value is in raw format as defined in Exif specification.
Gets or sets the direction of GPS receiver movement.
Gets or sets the reference for giving the direction of the image when it is captured.
Gets or sets the reference for giving the direction of the image when it is captured.
The value is in raw format as defined in Exif specification.
Gets or sets the direction of the image when it was captured.
Gets or sets the geodetic survey data used by the GPS receiver.
Gets or sets a value indicating whether the latitude of the destination point is north or south latitude.
Gets or sets a value indicating whether the latitude of the destination point is north or south latitude.
The value is in raw format as defined in Exif specification.
Gets or sets the latitude of the destination point.
Gets or sets a value indicating whether the longitude of the destination point is east or west longitude.
Gets or sets a value indicating whether the longitude of the destination point is east or west longitude.
The value is in raw format as defined in Exif specification.
Gets or sets the longitude of the destination point.
Gets or sets the reference used for giving the bearing to the destination point.
Gets or sets the reference used for giving the bearing to the destination point.
The value is in raw format as defined in Exif specification.
Gets or sets the bearing to the destination point.
Gets or sets the unit used to express the distance to the destination point.
Gets or sets the unit used to express the distance to the destination point.
The value is in raw format as defined in Exif specification.
Gets or sets the distance to the destination point.
Gets or sets the name of the method used for location finding.
Gets or sets the name of the method used for location finding.
The value is in raw format as defined in Exif specification.
Gets or sets the name of the GPS area.
Gets or sets the name of the GPS area.
The value is in raw format as defined in Exif specification.
Gets or sets date and time information relative to UTC (Coordinated Universal Time). The format is "YYYY:MM:DD".
Gets or sets a value indicating if the differential correction is applied to the GPS receiver.
Gets or sets the horizontal positioning errors in meters.
Loads Exif metadata from a byte array.
Loads Exif metadata from a Stream.
Saves Exif metadata to a byte array.
Saves Exif metadata to a Stream.
Clears all known and unknown tags and resets the instance of to the default state.
Creates a copy of this .
Returns a value indicating if the specified tag is defined in the profile.
Removes the specified tag from the profile.
true if the tag is successfully found and removed; otherwise, false. This method returns false if tag is not found in the profile.
Returns an array of all known tags in the profile.
Returns the list of all known tags in the profile and their corresponding values.
The base class for all Exif fields.
Gets the Exif data type of a single value.
Gets the part of Exif matadata used for storing the attribute.
Gets the associated tag ID.
Gets the number of values stored in Exif field.
Returns a hash code for the current object.
Represents an Exif field with 8-bit byte values.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type Byte.
Gets the array of bytes.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with 8-bit signed byte values.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type SByte.
Gets the array of signed bytes.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with UNDEFINED (8-bit byte) values.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type UNDEFINED (8-bit byte).
Gets the array of UNDEFINED (8-bit byte) values.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with string value.
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type String.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with unsigned 16-bit integer values.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type UInt16.
Gets the array of values of type UInt16.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with 16-bit signed integer values.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type Int16.
Gets the array of values of type Int16.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with unsigned 32-bit integer values.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type UInt32.
Gets the array of values of type UInt32.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with unsigned 16-bit or 32-bit integer values.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type UInt32.
Gets the array of values of type UInt32.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with 32-bit integer values.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type Int32.
Gets the array of values of type Int32.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with unsigned rational values.
Initializes a new instance of .
Initializes a new instance of .
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets a value of numerator for unsigned rational Exif value.
Gets a value of denominator for unsigned rational Exif value.
Gets the unsigned value of type Single.
Gets the array of unsigned rational values in raw format as defined in Exif specification.
Gets the array of unsigned rational values.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with rational (positive or negative) values.
Initializes a new instance of .
Initializes a new instance of .
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets a value of numerator for rational (signed) Exif value.
Gets a value of denominator for rational (signed) Exif value.
Gets the value of type Single (negative values allowed).
Gets the array of rational (signed) values in raw format as defined in Exif specification.
Gets the array of rational (signed) values.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with single-precision floating-point numbers.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type Single.
Gets the array of single-precision floating-point numbers.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents an Exif field with double-precision floating-point numbers.
Initializes a new instance of .
Initializes a new instance of .
Gets the Exif data type of a value.
Gets the value of type Double.
Gets the array of double-precision floating-point numbers.
Returns a hash code for the current object.
Compares two objects for equality.
Compares two objects for inequality.
Determines whether the specified object is equal to the current object.
Determines if the specified is equal to the current one.
Returns a string that represents the current object.
Represents a path consisting of straight line segments closing in a loop.
Initializes a new instance of the class.
Gets or sets the array of source points (before their transformation).
Gets or sets the transformation matrix.
Gets a value indicating if the figure is closed, i.e. a line is drawn between the end point of the last segment and the start point.
Gets the maximum number of intersections that a polygon can have when testing a line.
Gets points in world coordinates that will be joined by straight lines to form the polygon.
Gets the minimum X coordinate among the transformed points.
Gets the maximum X coordinate among the transformed points.
Gets the minimum Y coordinate among the transformed points.
Gets the maximum Y coordinate among the transformed points.
Creates a copy of the current figure.
Reverses the order of points in the figure.
Converts each curve in this figure into a sequence of connected line segments.
A matrix with additional world transformation by which to transform this figure before flattening.
True if the figure has some interior
Call this method if some points in the array were changed from user code.
Represents an uncompressed in-memory bitmap in 32-bit ARGB format (A is the most significant byte).
Sets the license key.
The license key to set.
Applies a license key to an instance of .
The license key to set.
Initializes an empty instance of the class.
Initializes a new instance of the class and creates the image.
The image content is not initialized and can contain any random data.
If subsequent rendering is going to cover the whole surface of the
bitmap, or if will be called on the bitmap with a non-null
background color, clearing it (which is a lengthy operation for large bitmaps) is not
needed. If some areas of the bitmap are going to be left untouched, they
must be cleared to avoid the possibility of random artifacts showing.
The width of the image, in pixels.
The height of the image, in pixels.
Indicates whether the alpha channel should be ignored.
The horizontal dpi of the image.
The vertical dpi of the image.
Initializes a new instance of the class and sets the existing pixel data to be read/modified in-place.
The pixel data to be attached to a .
The width of the image, in pixels.
The height of the image, in pixels.
Indicates whether the alpha channel should be ignored.
Indicates if the color channels are premultiplied by the alpha channel.
The horizontal dpi of the image.
The vertical dpi of the image.
Initializes a new instance of the class.
The source stream.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
Clipping rectangle of the image to be loaded.
Initializes a new instance of the class.
The file path to the image.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
Clipping rectangle of the image to be loaded.
Initializes a new instance of the class.
The image data.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
Clipping rectangle of the image to be loaded.
Initializes a new instance of the class.
used as the source of image data.
Clipping rectangle of the image to be loaded.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets a value indicating whether the has been disposed of.
For internal use only.
Gets a value indicating whether the internal image is loaded or created.
Gets an instance of the class.
The Graphics becomes available after executing the method.
Gets an instance of the class.
The renderer becomes available after executing the method.
Gets the pixel width of the image.
Gets the pixel height of the image.
Gets the width of the image, in DIPs.
Gets the height of the image, in DIPs.
Gets the horizontal dpi of the bitmap.
Gets the vertical dpi of the bitmap.
Gets or sets a pixel color value at the specified coordinates.
The X coordinate.
The Y coordinate.
Gets or sets an instance of with Exif metadata of the image.
Gets or sets the raw ICC profile data.
Gets a pointer to the internal binary data.
Gets or sets a value indicating if the color channels for all pixels are premultiplied by the alpha channel.
Setting this property doesn't perform actual conversion.
Gets or sets a value indicating whether the alpha channel of the image should be ignored.
Creates the image of the given size and resolution.
The content is not initialized and can contain any random data.
If subsequent rendering is going to cover the whole surface of the
bitmap, or if will be called on the bitmap with a non-null
background color, clearing it (which is a lengthy operation for large bitmaps) is not
needed. If some areas of the bitmap are going to be left untouched, they
must be cleared to avoid the possibility of random artifacts showing.
The width of the image, in pixels.
The height of the image, in pixels.
Indicates if the alpha channel should be ignored.
The horizontal dpi of the image.
The vertical dpi of the image.
Creates the image based on the existing pixel data to be read/modified in-place.
The pixel data to be attached to a .
The width of the image, in pixels.
The height of the image, in pixels.
Indicates if the alpha channel should be ignored.
Indicates if the color channels are premultiplied by the alpha channel.
The horizontal dpi of the image.
The vertical dpi of the image.
Releases the internal image and clears all metadata.
Changes the physical resolution of the image.
The horizontal and vertical resolution.
Changes the physical resolution of the image.
The horizontal resolution.
The vertical resolution.
Creates an instance of the class.
If not null, specifies the color to clear the image with.
A new instance of .
Creates a that allows to draw on the , if it has not been created yet.
Loads the image from a stream. Jpeg, Png, Gif, Bmp, Tiff formats are supported.
The source stream.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
Clipping rectangle of the image to be loaded.
Loads the image from a file. Jpeg, Png, Gif, Bmp, Tiff formats are supported.
The file path to the image.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
Clipping rectangle of the image to be loaded.
Loads the image from a byte array. Jpeg, Png, Gif, Bmp, Tiff formats are supported.
The image data.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
Clipping rectangle of the image to be loaded.
Saves the image into a Stream in BMP format.
The output stream.
Clipping rectangle of the image to be saved.
Saves the image into a file in BMP format.
The output file path.
Clipping rectangle of the image to be saved.
Saves the image into a Stream in PNG format.
The output stream.
Clipping rectangle of the image to be saved.
Saves the image into a file in PNG format.
The output file path.
Clipping rectangle of the image to be saved.
Saves the image into a Stream in JPEG format with specified quality (from 0 to 100).
The output stream.
Clipping rectangle of the image to be saved.
The image quality from 0 (best compression) to 100 (best quality).
Saves the image to a file in JPEG format with specified quality (from 0 to 100).
The output file path.
Clipping rectangle of the image to be saved.
The image quality from 0 (best compression) to 100 (best quality).
Saves the image into a Stream in GIF format.
The output stream.
Clipping rectangle of the image to be saved.
Saves the image into a file in GIF format.
The output file path.
Clipping rectangle of the image to be saved.
Saves the image into a Stream in TIFF format.
The output stream.
Clipping rectangle of the image to be saved.
The settings for encoding TIFF frame.
Saves the image into a file in TIFF format.
The output file path.
Clipping rectangle of the image to be saved.
The settings for encoding TIFF frame.
Creates a new with a copy of the image.
Creates a new with a fragment of the image.
Clipping rectangle of the source image to be extracted as a new .
Produces a flipped (horizontal or vertical) and/or rotated (by 90 degree increments) bitmap.
The source bitmap remains unchanged.
The operation to be applied.
Clipping rectangle specifying the area of the source image to be processed.
A new with transformed image.
Creates a new with a resized image fragment.
The width of the transformed image, in pixels.
The height of the transformed image, in pixels.
The interpolation mode to use when scaling.
Clipping rectangle specifying the area of the source image to be processed.
A new with transformed image.
Clears the with the specified color.
The color to fill the image.
The target rectangle of the .
Clears the with the specified color.
The color to fill the image.
The target rectangle of the .
Multiplies RGBA values of the by a 5x4 matrix.
A 5x4 matrix for altering RGBA values of the .
The target rectangle of the .
Applies a graphic effect to an image or its portion in-place.
An effect derived from to apply.
The target rectangle of the .
Premultiplies the color channels by the alpha channel and sets the property to True.
Premultiplies the color channels of the specified rectangle by the alpha channel.
The property is not affected by this overload.
The target rectangle of the .
Makes the alpha channel not premultiplied in the color channels and sets the property to False.
Makes the alpha channel of the specified rectangle not premultiplied in the color channels.
The property is not affected by this overload.
The target rectangle of the .
Updates the alpha channel of pixels to 255 (to make them opaque).
The target rectangle of the .
Determines whether the image contains transparent or semitransparent pixels.
It always returns false for an opaque image.
The source rectangle of the .
Applies a transparency mask to the current image or its portion.
A with the transparency mask.
The target rectangle of the .
Applies a transparency mask to the current image or its portion.
A with the transparency mask.
The target rectangle of the .
Converts an image with transparent or semitransparent pixels to fully opaque with specified background color.
The color to be used as background for transparent pixels.
Converts a part of semitransparent image to opaque with specified background color.
The color to be used as background for transparent pixels.
The target rectangle of the .
Performs a bit-block transfer of the color data corresponding to a rectangle of pixels from the specified source bitmap into the current bitmap.
The source bitmap.
The x-coordinate, in pixels, of the upper-left corner of the destination rectangle.
The y-coordinate, in pixels, of the upper-left corner of the destination rectangle.
The affected rectangle of the destination .
The width, in pixels, of the source and destination rectangles.
The height, in pixels, of the source and destination rectangles.
The x-coordinate, in pixels, of the upper-left corner of the source rectangle.
The y-coordinate, in pixels, of the upper-left corner of the source rectangle.
Draws the source bitmap with the specified opacity into the current bitmap.
The source bitmap.
The x-coordinate, in pixels, of the upper-left corner of the destination rectangle.
The y-coordinate, in pixels, of the upper-left corner of the destination rectangle.
The affected rectangle of the destination .
The opacity [0, 1] of the source bitmap, to multiply to the source bitmap's alpha channel.
The width, in pixels, of the source and destination rectangles.
The height, in pixels, of the source and destination rectangles.
The x-coordinate, in pixels, of the upper-left corner of the source rectangle.
The y-coordinate, in pixels, of the upper-left corner of the source rectangle.
Applies the algorithms of Porter Duff compositing and blending to the current bitmap (used as backdrop, destination) and the source bitmap.
The source bitmap.
The x-coordinate, in pixels, of the upper-left corner of the destination rectangle.
The y-coordinate, in pixels, of the upper-left corner of the destination rectangle.
The Porter Duff compositing method.
The blending method used to mix the source and destination colors.
The affected rectangle of the destination .
The width, in pixels, of the source and destination rectangles.
The height, in pixels, of the source and destination rectangles.
The x-coordinate, in pixels, of the upper-left corner of the source rectangle.
The y-coordinate, in pixels, of the upper-left corner of the source rectangle.
Calculates Otsu's threshold [0..255] for a grayscale image.
It is expected that the image is already converted to monochromatic gray.
The source rectangle of the .
Creates a from the current .
This method does not perform any transformations of the color palette.
It is expected that the source has already been converted
to bi-level palette using some thresholding or dithering effects.
The method just copies data from a specified color
channel to a new instance of the class.
The color channel used as the source of the bi-level data.
If true, pixels are arranged within a byte such that pixels with lower column indices are stored in the lower-order bits of the byte.
If true, indicates that 0 represents white and 1 represents black in the resulting .
A new instance of .
Creates a from the current .
This method does not perform any transformations of the color palette.
It is expected that the source has already been converted to
grayscale palette using a or something like that.
Alternatively, you can use this method to extract individual channels of
a color image without any prior conversion, and treat the resulting
simply as a representation of some image data with 8 bits per pixel.
The method just copies data from a specified color
channel to a new instance of the class.
If you need to copy some color channel to an existing instance of ,
use the method instead.
The color channel used as the source of grayscale data.
If true, indicates that 0 represents white and 255 represents black in the resulting .
A new instance of .
Creates an opaque from the current image using the Octree quantizer algorithm.
The maximum number of opaque colors in the palette, from 8 to 16.
Indicates if a transparent color should be added to the palette, if the image is not opaque and the number of opaque colors is less than 16.
If true, pixels are arranged within a byte such that pixels with lower column indices are stored in the lower-order bit tetrads of the byte.
A new instance of .
Creates an opaque from the current image using the specified palette.
The palette with opaque colors for the new image (colors are in 32-bit ARGB format). Elements with index 16 and above are ignored.
The method of two-dimensional error diffusion dithering.
Indicates if a transparent color should be added to the palette, if the image is not opaque and the number of opaque colors is less than 16.
If true, pixels are arranged within a byte such that pixels with lower column indices are stored in the lower-order bit tetrads of the byte.
A new instance of .
Creates an from the current image.
The method of two-dimensional error diffusion dithering.
If true, pixels are arranged within a byte such that pixels with lower column indices are stored in the lower-order bit tetrads of the byte.
A new instance of .
Creates an opaque from the current image using the Octree quantizer algorithm.
The maximum number of opaque colors in the palette, from 8 to 256.
Indicates if a transparent color should be added to the palette, if the image is not opaque and the number of opaque colors is less than 256.
A new instance of .
Creates an opaque from the current image using the specified palette.
The palette with opaque colors for the new image (colors are in 32-bit ARGB format). Elements with index 256 and above are ignored.
The method of two-dimensional error diffusion dithering.
Indicates if a transparent color should be added to the palette, if the image is not opaque and the number of opaque colors is less than 256.
A new instance of .
Creates an from the current image.
The method of two-dimensional error diffusion dithering.
A new instance of .
Generates a palette for the image using the Octree quantizer algorithm.
The Alpha color channel is ignored.
The maximum number of opaque colors in the palette, from 8 and above.
Indicates if the pixels with value of alpha less than 128 shouldn't be taken into account.
The resulting array with palette colors.
Copies data from one color channel of the current to an existing of the same pixel size.
The target .
A channel of the source to be exported.
Copies data from a to one color channel of the current of the same pixel size.
A with source data.
A channel of the destination to be updated.
Modifies R, G, B color intensities such that the maximum range of values (0..255) is fully covered.
Indicates if the method should keep the relative intensities of the color channels unchanged.
The percent of extremely low values to be clipped, not greater than 10.
The percent of extremely high values to be clipped, not greater than 10.
Adjusts the levels of an image histogram.
The method maps the input range of values (blackPoint..whitePoint) to the output
range (outputBlack..outputWhite) using the specified gamma correction (midtone).
Adjusts the levels of an image histogram.
The method maps the input range of values (blackPoint..whitePoint) to the output
range (outputBlack..outputWhite) using the specified gamma correction (midtone).
The input black point in 32-bit ARGB format (the Alpha channel is ignored).
The input white point in 32-bit ARGB format (the Alpha channel is ignored).
The output black point in 32-bit ARGB format (the Alpha channel is ignored).
The output white point in 32-bit ARGB format (the Alpha channel is ignored).
The value of gamma correction.
Creates a sorted array of unique colors for the current image.
The rectangle of the image to be processed.
An array of colors in ARGB format.
Merges sorted arrays of unique colors in 32-bit ARGB format (returned from )
Palette entries with Alpha less than the specified value (between 0 and 255) are skipped.
A set of palettes with sorted arrays of unique colors.
A sorted array with unique colors presented in one palette at least.
Changes pixel format from 8 bits per channel to lower values with two-dimensional error diffusion.
The target number of bits per channel (from 1 to 8).
The method of two-dimensional error diffusion dithering.
Changes pixel format from 8 bits per channel to lower values with two-dimensional error diffusion.
The target number of bits per Alpha channel (from 1 to 8), ignored for opaque images.
The target number of bits per Red channel (from 1 to 8).
The target number of bits per Green channel (from 1 to 8).
The target number of bits per Blue channel (from 1 to 8).
The method of two-dimensional error diffusion dithering.
Implements a drawing surface for .
Performs cleanup operations on managed and unmanaged resources.
Gets the source .
Gets a that allows to draw on the .
Gets the width of the image, in DIPs.
Gets the height of the image, in DIPs.
Gets the resolution of the current graphics (always 96 DPI for ).
Gets or sets the transformation matrix of the current graphics.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
Allows to read images from a multipage GIF file/stream.
Applies a license key to an instance of .
The license key to set.
Initializes a new instance of class and assigns the input file.
Full path to the input .gif file.
Index of a frame to read. Pass -1 to get all frames.
Initializes a new instance of class and assigns the input stream.
The input stream.
Indicates if the input stream should be closed when the is disposed.
Index of a frame to read. Pass -1 to get all frames.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets a value indicating whether the has been disposed of.
Gets the width, in pixels, of the Logical Screen where the frames will be rendered.
Gets the height, in pixels, of the Logical Screen where the frames will be rendered.
Gets the quotient of the pixel's width over its height.
Gets the horizontal DPI of the Logical Screen.
Gets the vertical DPI of the Logical Screen.
If possible, gets full path to the associated .gif file.
Gets the Stream associated with .
Gets the start position in the associated Stream.
Gets a value indicating if the associated stream should be closed when the is disposed.
Gets the list of frames in the associated GIF file.
Gets or sets the raw ICC profile data for the frames.
Gets the number of iterations the animated GIF should be executed. 0 means infinite loop.
Gets the number of Comment Extensions in the source GIF file.
Gets a value indicating if there is the Global Color Table in the GIF file.
If the Comment Extension is present in the source GIF file this method decodes the comment using the specified Encoding and returns it as a string.
Character encoding, such as Encoding.ASCII.
Index of the Comment Extension, from 0 to - 1.
Comment as a string or null if the source GIF file contains no Comment Extension with given index.
If the Comment Extension is present in the source GIF file this method returns the comment data as is, without decoding.
Index of the Comment Extension, from 0 to - 1.
Comment as a byte array or null if the source GIF file contains no Comment Extension with given index.
Returns a palette with sorted opaque colors in 32-bit ARGB format retrieved from the Global Color Table.
Allows to create a multi-frame GIF file.
Initializes a new instance of class and sets the output file.
Full path to the output file.
Initializes a new instance of class and sets the output stream.
The output stream.
Indicates whether the output stream should be disposed together with .
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Get or sets the width, in pixels, of the Logical Screen where the frames will be rendered.
Gets or sets the height, in pixels, of the Logical Screen where the frames will be rendered.
Gets or sets the quotient of the pixel's width over its height.
Gets or sets the number of iterations the animated GIF should be executed. 0 means infinite loop.
Gets or sets the encoding for the Comment string, Encoding.UTF8 is used by default.
Gets or sets the optional GIF comment.
Gets or sets the palette with opaque colors in 32-bit ARGB format to be stored as the Global Color Table.
If the palette contains 255 or less elements, the transparent color can be appended to the Global Color Table.
Elements with index 256 and above are ignored.
Gets or sets the raw ICC profile data for the frames.
The value should be assigned before appending the first frame.
Gets or sets a value indicating if a transparent color should be added to the Global and Local Color Tables, if the number of opaque colors is less than 256.
Gets the index of the next frame to be added.
Updates the property based on the specified horizontal and vertical resolutions.
The horizontal DPI value.
The vertical DPI value.
Writes the specified to the output stream as the next frame.
The source .
The maximum number of opaque colors in the palette, from 8 to 256.
The x-coordinate of the frame on the Logical Screen.
The y-coordinate of the frame on the Logical Screen.
Specifies the way in which the frame has to be treated after being displayed.
The number of hundredths (1/100) of a second to wait before continuing.
Indicates whether or not user input is expected before continuing.
Writes the specified to the output stream as the next frame.
The source .
The palette with opaque colors in 32-bit ARGB format. Elements with index 256 and above are ignored.
The method of two-dimensional error diffusion dithering.
The x-coordinate of the frame on the Logical Screen.
The y-coordinate of the frame on the Logical Screen.
Specifies the way in which the frame has to be treated after being displayed.
The number of hundredths (1/100) of a second to wait before continuing.
Indicates whether or not user input is expected before continuing.
Writes the specified to the output stream as the next frame.
The source .
The x-coordinate of the frame on the Logical Screen.
The y-coordinate of the frame on the Logical Screen.
Specifies the way in which the frame has to be treated after being displayed.
The number of hundredths (1/100) of a second to wait before continuing.
Indicates whether or not user input is expected before continuing.
Writes the specified to the output stream as the next frame.
The source .
The x-coordinate of the frame on the Logical Screen.
The y-coordinate of the frame on the Logical Screen.
Specifies the way in which the frame has to be treated after being displayed.
The number of hundredths (1/100) of a second to wait before continuing.
Indicates whether or not user input is expected before continuing.
Writes the specified to the output stream as the next frame.
The source .
The x-coordinate of the frame on the Logical Screen.
The y-coordinate of the frame on the Logical Screen.
Specifies the way in which the frame has to be treated after being displayed.
The number of hundredths (1/100) of a second to wait before continuing.
Indicates whether or not user input is expected before continuing.
Writes the specified to the output stream as the next frame.
The source .
The x-coordinate of the frame on the Logical Screen.
The y-coordinate of the frame on the Logical Screen.
Specifies the way in which the frame has to be treated after being displayed.
The number of hundredths (1/100) of a second to wait before continuing.
Indicates whether or not user input is expected before continuing.
Allows to read images from a multipage TIFF file/stream.
Applies a license key to an instance of .
The license key to set.
Initializes a new instance of class and assigns the input file.
Full path to the input .tiff file.
Index of a frame to read. Pass -1 to get all frames.
Initializes a new instance of class and assigns the input stream.
The input stream.
Indicates if the input stream should be closed when the is disposed.
Index of a frame to read. Pass -1 to get all frames.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets a value indicating whether the has been disposed of.
If possible, gets full path to the associated TIFF file.
Gets the Stream associated with .
Gets the start position in the associated Stream.
Gets a value indicating if the associated stream should be closed when the is disposed.
Gets the list of frames in the associated TIFF file.
Check the value of property before reading an image from .
Allows to create a multipage TIFF file.
Initializes a new instance of class and sets the output file.
Full path to the output file.
Indicates whether big-endian (true) or little-endian (false) byte order is used within the output file.
Initializes a new instance of class and sets the output stream.
The output stream.
Indicates whether the output stream should be disposed together with .
Indicates whether big-endian (true) or little-endian (false) byte order is used within the output stream.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets or sets the default settings for TIFF encoding.
Writes the specified to the output stream as the next frame.
The source .
The settings for encoding TIFF frame.
Writes the specified to the output stream as the next frame.
The source .
The settings for encoding TIFF frame.
Writes the specified to the output stream as the next frame.
The source with set to false.
The settings for encoding TIFF frame.
Writes the specified to the output stream as the next frame.
The source .
The settings for encoding TIFF frame.
Writes the specified to the output stream as the next frame.
The source .
The settings for encoding TIFF frame.
Represents a single frame in the GIF file.
Gets the associated .
Gets the index of the frame in the associated GIF file.
Gets the index of a frame used as the base for the current frame, -1 if the current frame doesn't depend on previous frames.
Gets the way in which the GIF frame has to be treated after being displayed.
Gets the number of hundredths (1/100) of a second to wait before continuing.
If the value is negative, the delay time is not specified.
Gets a value indicating whether or not user input is expected before continuing.
When a is not 0 and the flag is set, processing will continue when user input is received or when the delay time expires, whichever occurs first.
Gets the x-coordinate, in pixels, of the left edge of the frame image, with respect to the left edge of the Logical Screen.
Gets the x-coordinate that is the sum of and property values.
Gets the y-coordinate, in pixels, of the top edge of the frame image with respect to the top edge of the Logical Screen.
Gets the y-coordinate that is the sum of and property values.
Gets the width of the frame image in pixels.
Gets the height of the frame image in pixels.
Gets a value indicating if transparent pixels don't occur in the frame data.
Gets a value indicating if the frame uses colors from the Local Color Table.
Gets the frame image as a .
Gets the frame image as a .
Many GIF files use frames with transparent pixels where the previous frame
is partly visible. If you read multiple GIF frames you can improve the performance
dramatically by reading frames into the same and passing
index of the previous frame in the additional contentFrameIndex parameter.
Reads the frame image into an existing .
The source and target object.
Index of a GIF frame rendered to that is passed in the bmp parameter, if any.
Creates an object for the frame.
Specifies how the image data is attached to the object.
The newly created object.
Returns a palette with sorted opaque colors in 32-bit ARGB format retrieved from the Local Color Table.
The helper class that represents a single frame of a GIF image.
Initializes a new instance of the class from a using the Octree quantizer algorithm.
used as the source image.
The maximum number of opaque colors in the palette, from 8 to 256.
Indicates if a transparent color should be added to the palette, if the number of opaque colors is less than 256.
Initializes a new instance of the class from a using the specified palette.
used as the source image.
The palette with opaque colors in 32-bit ARGB format. Elements with index 256 and above are ignored.
The method of two-dimensional error diffusion dithering.
Indicates if a transparent color should be added to the palette, if the number of opaque colors is less than 256.
Initializes a new instance of the class from an .
used as the source image.
Indicates if a transparent color should be added to the palette, if possible.
Initializes a new instance of the class from an .
used as the source image.
Indicates if a transparent color should be added to the palette, if it is missing.
Initializes a new instance of the class from a .
used as the source image.
Indicates if a transparent color should be added to the palette, if possible.
Initializes a new instance of the class from a .
used as the source image.
Indicates if a transparent color should be added to the palette.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets the associated palette with opaque colors in 32-bit ARGB format.
Gets the number of valid items in the array.
Gets the index of the transparent color in the palette.
Returns -1 if there is no transparent color in the palette.
Returns if the transparent color should be added at the end of the palette when saving.
Gets the pixel width of the image.
Gets the pixel height of the image.
Describes a set of geometric figures that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves.
Initializes a new instance of the class with the alternate fill mode.
The array of figures to be added to the path.
Initializes a new instance of the class with explicitly provided fill mode.
Specifies how the interior of closed figures is filled.
The array of figures to be added to the path.
Gets the array of figures in the path.
Returns a rectangle that bounds this when this path is transformed by the specified .
The transform to apply to this path before calculating its bounds.
A that represents a rectangle that bounds this .
Gets a value specifying how the interior of closed figures is filled.
Creates a copy of the .
Creates a transformed copy of the .
The transformation to apply.
Widens the by the specified stroke and returns the result as a new path.
The pen to apply to the source path.
Widens the by the specified stroke and returns the result as a new path.
The pen to apply to the source path.
The transformation to apply before widening.
The transformation to apply after widening.
Represents a grayscale image or transparency mask with 8 bits per pixel.
Applies a license key to an instance of .
The license key to set.
Initializes a new instance of the class.
The width of the image, in pixels.
The height of the image, in pixels.
If true, the image is used to define an irregularly shaped region of another image.
If true, specifies that 0 is imaged as white and 255 is imaged as black.
The horizontal dpi of the image.
The vertical dpi of the image.
Initializes a new instance of the class and sets the existing pixel data to be read/modified in-place.
The pixel data to be attached to a .
The width of the image, in pixels.
The height of the image, in pixels.
If true, the image is used to define an irregularly shaped region of another image.
If true, specifies that 0 is imaged as white and 255 is imaged as black.
The horizontal dpi of the image.
The vertical dpi of the image.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets a value indicating whether the has been disposed of.
For internal use only.
Gets the pixel width of the image.
Gets the pixel height of the image.
Gets or sets a value indicating whether the image is used to define an irregularly shaped region of another image.
Gets or sets a value specifying whether 0 represents white and 255 represents black (if true) or vice versa (if false).
Gets or sets an instance of with Exif metadata of the image.
Gets or sets the raw ICC profile data.
Gets or sets a pixel value (from 0 to 255) at the specified coordinates.
The X coordinate.
The Y coordinate.
Gets the horizontal dpi of the bitmap.
Gets the vertical dpi of the bitmap.
Gets a pointer to the internal binary data.
Creates an instance of the class from the current .
A new instance of the class.
Copies the image into an existing instance of .
The target object.
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
Creates an instance of the class from a .
The source object.
The color channel used as the source of grayscale data.
If true, specifies that 0 represents white and 255 represents black in the destination image.
A new instance of the class.
Changes the physical resolution of the image.
The horizontal and vertical resolution.
Changes the physical resolution of the image.
The horizontal resolution.
The vertical resolution.
Modifies pixel intensities such that available range of values (0..255) is fully covered.
Modifies pixel intensities, clipping extremely low and extremely high values, such that available range of values (0..255) is fully covered.
The percent of extremely low values to be clipped, not greater than 10.
The percent of extremely high values to be clipped, not greater than 10.
Adjusts the levels of an image histogram.
The method maps the input range of values (blackPoint..whitePoint) to the output
range (outputBlack..outputWhite) using the specified gamma correction (midtone).
The input black point (from 0 to 255).
The input white point (from 0 to 255).
The output black point (from 0 to 255).
The output white point (from 0 to 255).
The value of gamma correction.
Changes pixel format from 8 bits per pixel to lower value with two-dimensional error diffusion.
The target number of bits per pixel (from 1 to 8).
The method of two-dimensional error diffusion dithering.
Inverts the pixels colors from black to white and vice versa.
Clears the with the specified value (from 0 to 255).
The value (from 0 to 255) to fill the image.
Creates a new with a fragment of the image.
Clipping rectangle of the source image to be extracted as a new .
Creates a new with a copy of the image.
Represents a palette-color image with 4 bits per pixel.
Applies a license key to an instance of .
The license key to set.
Initializes a new instance of the class.
The width of the image, in pixels.
The height of the image, in pixels.
Indicates whether the alpha channel should be ignored.
Indicates whether the color channels for all pixels are premultiplied by the alpha channel.
If true, pixels are arranged within a byte such that pixels with lower column indices are stored in the lower-order bit tetrads of the byte.
The horizontal dpi of the image.
The vertical dpi of the image.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets a value indicating whether the has been disposed of.
For internal use only.
Gets the pixel width of the image.
Gets the pixel height of the image.
Gets the number of bytes in one scan line.
Gets or sets a value specifying whether pixels with lower column indices are stored in the lower-order bit tetrads of the byte.
Setting this property causes an update to the pixel data.
Gets or sets a value indicating whether the alpha channel of the image should be ignored.
Gets or sets a value indicating if the color channels for all pixels are premultiplied by the alpha channel.
Gets or sets an instance of with Exif metadata of the image.
Gets or sets the raw ICC profile data.
Gets the associated lookup table with 16 Red-Green-Blue[-Alpha] palette entries.
Gets or sets a lookup table index (from 0 to 15) at the specified coordinates.
The X coordinate.
The Y coordinate.
Gets the horizontal dpi of the bitmap.
Gets the vertical dpi of the bitmap.
Gets a pointer to the internal binary data.
Creates an instance of the class from the current .
A new instance of the class.
Copies the image into an existing instance of .
The target object.
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
Compacts the image palette to 8 bits per color channel and returns the palette as an array of 32-bit ARGB values.
Indicates if the alpha channel supports values between 0 and 255 (if true), or the boundary values only (if false).
Changes the physical resolution of the image.
The horizontal and vertical resolution.
Changes the physical resolution of the image.
The horizontal resolution.
The vertical resolution.
Clears the with the specified lookup table index (from 0 to 15).
The lookup table index (from 0 to 15) to fill the image.
Creates a new with a fragment of the image.
Clipping rectangle of the source image to be extracted as a new .
Creates a new with a copy of the image.
Represents a palette-color image with 8 bits per pixel.
Applies a license key to an instance of .
The license key to set.
Initializes a new instance of the class.
The width of the image, in pixels.
The height of the image, in pixels.
Indicates whether the alpha channel should be ignored.
Indicates whether the color channels for all pixels are premultiplied by the alpha channel.
The horizontal dpi of the image.
The vertical dpi of the image.
Clean up any resources being used.
Performs cleanup operations on unmanaged resources.
Performs cleanup operations on managed and unmanaged resources.
Gets a value indicating whether the has been disposed of.
For internal use only.
Gets the pixel width of the image.
Gets the pixel height of the image.
Gets or sets a value indicating whether the alpha channel of the image should be ignored.
Gets or sets a value indicating if the color channels for all pixels are premultiplied by the alpha channel.
Gets or sets an instance of with Exif metadata of the image.
Gets or sets the raw ICC profile data.
Gets the associated lookup table with 256 Red-Green-Blue[-Alpha] palette entries.
Gets or sets a lookup table index (from 0 to 255) at the specified coordinates.
The X coordinate.
The Y coordinate.
Gets the horizontal dpi of the bitmap.
Gets the vertical dpi of the bitmap.
Gets a pointer to the internal binary data.
Creates an instance of the class from the current .
A new instance of the class.
Copies the image into an existing instance of .
The target object.
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
Compacts the image palette to 8 bits per color channel and returns the palette as an array of 32-bit ARGB values.
Indicates if the alpha channel supports values between 0 and 255 (if true), or the boundary values only (if false).
Changes the physical resolution of the image.
The horizontal and vertical resolution.
Changes the physical resolution of the image.
The horizontal resolution.
The vertical resolution.
Clears the with the specified lookup table index (from 0 to 255).
The lookup table index (from 0 to 255) to fill the image.
Creates a new with a fragment of the image.
Clipping rectangle of the source image to be extracted as a new .
Creates a new with a copy of the image.
Represents a segment of the path.
Gets the end point of the segment.
Appends points that will be joined by straight lines to approximate the source segment.
The destination list. When calling this method, the last element contains the start point for the current segment.
The transformation matrix.
Represents a figure within a geometric path.
Gets a value indicating if the figure is closed, i.e. a line is drawn between the end point of the last segment and the start point.
Gets or sets the transformation matrix for a figure.
Gets the maximum number of intersections that a polygon can have when testing a line.
Call the method before using this property.
Creates a copy of the current figure.
Reverses the order of points in the figure.
Converts each curve in this figure into a sequence of connected line segments.
A matrix with additional world transformation by which to transform this figure before flattening.
True if the figure has some interior
Gets points in world coordinates that will be joined by straight lines to form the polygon.
Call the method before using this property.
Gets the minimum X coordinate among the transformed points.
Call the method before using this property.
Gets the maximum X coordinate among the transformed points.
Call the method before using this property.
Gets the minimum Y coordinate among the transformed points.
Call the method before using this property.
Gets the maximum Y coordinate among the transformed points.
Call the method before using this property.
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to "Column indices for ColorMatrix5x4 run from 0 to 3, inclusive."
Looks up a localized string similar to "Indices for ColorMatrix5x4 run from 0 to 19, inclusive."
Looks up a localized string similar to "Row indices for ColorMatrix5x4 run from 0 to 4, inclusive."
Looks up a localized string similar to "Color index {0} is out of bounds of the palette with {1} colors."
Looks up a localized string similar to "Number of points in a CubicBeziersSegment must be a multiple of 3."
Looks up a localized string similar to "Opaque has different value for the source and the target Bitmaps."
Looks up a localized string similar to "Premultiplied has different value for the source and the target GcBitmaps."
Looks up a localized string similar to "There must be 20 input values for ColorMatrix5x4."
Looks up a localized string similar to "End the current figure before beginning a new one."
Looks up a localized string similar to "A FreeFormPolygon must consist of three points at least."
Looks up a localized string similar to "The target bitmap was discarded."
Looks up a localized string similar to "Image is not created or loaded into a GcBitmap."
Looks up a localized string similar to "Warning: Live {0} object, potential memory leak"
Looks up a localized string similar to "The world transformation matrix must be invertible."
Looks up a localized string similar to "Call the BeginFigure method before adding new segments or closing the figure."
Looks up a localized string similar to "Operation is not supported on a Path closed for modifications."
Looks up a localized string similar to "Red:{0} Green:{1} Blue:{2} Alpha:{3}".
Looks up a localized string similar to "Cannot remove a clip that is not on top of the clip stack."
Looks up a localized string similar to "An image with premultiplied alpha channel cannot be saved."
Looks up a localized string similar to "An image with premultiplied alpha channel cannot be processed."
Looks up a localized string similar to "Number of points in a QuadraticBeziersSegment must be a multiple of 2."
Looks up a localized string similar to "The source Image is not created or loaded into srcBitmap."
Looks up a localized string similar to "The source Image is expected having non-premultiplied alpha channel."
Looks up a localized string similar to "Cannot create the second instance of GcBitmapGraphics for a GcBitmap."
Looks up a localized string similar to "The Jpeg quality must belong to the range from 0 to 100."
Looks up a localized string similar to "Unable to save an image of zero or negative size."
Looks up a localized string similar to "Unable to create an image of zero or negative size."
Looks up a localized string similar to "Unable to resize an image of zero or negative size."
Looks up a localized string similar to "Bad Huffman code."
Looks up a localized string similar to "Bad method for ZLIB header: cmf={0}".
Looks up a localized string similar to "Bad Tq index value".
Looks up a localized string similar to "Bit depth is not supported or not valid."
Looks up a localized string similar to "Bitmap does not have a valid format."
Looks up a localized string similar to "The input bmp '{0}x{1}' is bigger then the max allowed size '{2}x{3}'".
Looks up a localized string similar to "Compression type is not supported. Supported types: uncompressed, RLE4 and RLE8."
Looks up a localized string similar to "Cannot read image from the stream."
Looks up a localized string similar to "Can't merge DC and AC."
Looks up a localized string similar to "Color type is not supported or not valid."
Looks up a localized string similar to "Curve has to be either '{0}.{1}' or '{2}.{3}' for LutAToB- and LutBToA-TagDataEntries".
Looks up a localized string similar to "DHT has wrong length: {0}".
Looks up a localized string similar to "DQT has wrong length".
Looks up a localized string similar to "DRI has wrong length: {0}".
Looks up a localized string similar to "An error occurred when processing the image using {0}. See the inner exception for more detail."
Looks up a localized string similar to "Failed to read 2 bytes from stream."
Looks up a localized string similar to "Frame must have the same dimensions as the image."
Looks up a localized string similar to "The image frame with index {0} was not found."
Looks up a localized string similar to "Gif comment length '{0}' exceeds max '{1}'".
Looks up a localized string similar to "Not supported Gif data streams without the Global Color Table."
Looks up a localized string similar to "Hexadecimal string is not in the correct format."
Looks up a localized string similar to "Image cannot be loaded. Available decoders:".
Looks up a localized string similar to "Image is too large to encode at {0}x{1}."
Looks up a localized string similar to "Image stream is not valid!"
Looks up a localized string similar to "The provided value for the {0} property does not comply with Exif specification."
Looks up a localized string similar to "Number of bits per channel must be greater than zero."
Looks up a localized string similar to "Input image is not of the size of the processed one!"
Looks up a localized string similar to "The png specification only defines 'None' and 'Adam7' as interlaced methods."
Looks up a localized string similar to "Invalid ACn encoding".
Looks up a localized string similar to "Invalid bmp colormap size '{0}'".
Looks up a localized string similar to "Invalid fileheader offset found. Offset is greater than the stream length."
Looks up a localized string similar to "Invalid CLUT data type of {0}".
Looks up a localized string similar to "Invalid CLUT size of {0}".
Looks up a localized string similar to "Invalid combination of values given".
Looks up a localized string similar to "Invalid curve segment type of {0}".
Looks up a localized string similar to "Invalid gif colormap size '{0}'".
Looks up a localized string similar to "Invalid MultiProcessElement type of {0}".
Looks up a localized string similar to "Invalid parametric curve type of {0}".
Looks up a localized string similar to "Invalid window size for ZLIB header: cinfo={0}".
Looks up a localized string similar to "Indexed4bppBitmap cannot be saved as TIFF frame when it has LowerBitsFirst property set to true."
Looks up a localized string similar to "Missing SOI marker."
Looks up a localized string similar to "Multiple SOF markers. Only single frame jpegs supported."
Looks up a localized string similar to "Must not be empty."
Looks up a localized string similar to "Must not be empty or whitespace."
Looks up a localized string similar to "A stream passed to the constructor of GcGifReader must support reading and seeking."
Looks up a localized string similar to "A stream passed to the Image.FromStream() method must support reading and seeking."
Looks up a localized string similar to "A stream passed to the constructor of GcTiffReader must support reading and seeking."
Looks up a localized string similar to "A stream passed to the constructor of GcTiffWriter must support writing and seeking."
Looks up a localized string similar to "A stream passed to the constructor of GcGifWriter must support writing."
Looks up a localized string similar to "Cannot perform chromatic adaptation, provide a chromatic adaptation method and white point."
Looks up a localized string similar to "Could not find any converter for JpegColorSpace {0}!"
Looks up a localized string similar to "Can't find encoder for file extention '{0}' using image format '{1}'. Registered encoders include:".
Looks up a localized string similar to "Can't find encoder for provided mime type. Available encoded:".
Looks up a localized string similar to "File path was not specified for a GcTiffReader.".
Looks up a localized string similar to "Can't find a format that is associated with the file extention '{0}'. Registered formats with there extensions include:".
Looks up a localized string similar to "Cannot retrieve a pixel at the given index {0}."
Looks up a localized string similar to "Does not support this kind of bitmap files."
Looks up a localized string similar to "GcImaging does not support this BMP file. HeaderSize: {0}."
Looks up a localized string similar to "GcImaging does not support this BMP file. File header bitmap type marker '{0}'."
Looks up a localized string similar to "Not a valid pass index: {0}".
Looks up a localized string similar to "Only 8-Bit precision supported."
Looks up a localized string similar to "CRC Error. PNG {0} chunk is corrupt!"
Looks up a localized string similar to "The png specification only defines 0 as filter method."
Looks up a localized string similar to "PNG Image does not contain a data chunk".
Looks up a localized string similar to "PNG Image does not contain a header chunk".
Looks up a localized string similar to "An error occurred when processing the image using {0}. The processor changed the number of frames."
Looks up a localized string similar to "Profile description can only have multi-localized Unicode or text description entries".
Looks up a localized string similar to "An attempt to read data beyond the end of TIFF buffer."
Looks up a localized string similar to "Read signature {0} is not the expected {1}".
Looks up a localized string similar to "Resolution of TIFF is too small."
Looks up a localized string similar to "Pixel size of the source and the destination images is not equal."
Looks up a localized string similar to "Span-s must be at least of length {0}!"
Looks up a localized string similar to "Span-s must be the same size!"
Looks up a localized string similar to "{0} is supported only on AVX2 CPU!"
Looks up a localized string similar to "GIF image is not detected in the given binary data."
Looks up a localized string similar to "TIFF image is not detected in the given binary data."
Looks up a localized string similar to "Unexpected data in the GIF data stream."
Looks up a localized string similar to "Unexpected data in the TIFF stream."
Looks up a localized string similar to "The Unknown enum value cannot be set to ExifProfile properties."
Looks up a localized string similar to "Unknown component selector".
Looks up a localized string similar to "Unknown filter type."
Looks up a localized string similar to "The argument of the ImageBinding type contains an unknown value."
Looks up a localized string similar to "The image format is unknown."
Looks up a localized string similar to "Unrecognized colorant encoding".
Looks up a localized string similar to "Unsupported color mode. Max components 4; found {0}".
Looks up a localized string similar to "Unsupported PNG color type".
Looks up a localized string similar to "Value {0} must be greater than {1}."
Looks up a localized string similar to "Value {0} must be greater than or equal to {1} and less than or equal to {2}."
Looks up a localized string similar to "Value {0} must be greater than or equal to {1}."
Looks up a localized string similar to "Value {0} must be less than {1}."
Looks up a localized string similar to "Value {0} must be less than or equal to {1}."
Looks up a localized string similar to "Must be {0} bytes. Was {1} bytes."
Looks up a localized string similar to "The provided Exif {0} string has wrong format: {1}."
Looks up a localized string similar to "Wrong compression scheme for the current pixel format."
Looks up a localized string similar to "The value of the {0} property must be an array of {1} elements."
Looks up a localized string similar to "CCITT_1D, Group_3_Fax, and Group_4_Fax compression schemes are only supported for SamplesPerPixel = 1 and BitsPerSample = 1."
Looks up a localized string similar to "ColorMap is a required field for the RGB_Palette color space."
Looks up a localized string similar to "The specified color space ({0}) supports only one component (sample) per pixel."
Looks up a localized string similar to "StripOffsets or StripByteCounts fields are missing (while TileWidth and TileLength are not defined)."
Looks up a localized string similar to "TileOffsets or TileByteCounts fields are missing for a tiled TIFF frame."
Looks up a localized string similar to "TileWidth must be a multiple of 16 (TileWidth = {0})."
Looks up a localized string similar to "Unexpected value of the BitsPerSample field."
Looks up a localized string similar to "Unexpected value of the ExtraSamples field. GcTiffReader supports single associated or unassociated alpha component."
Looks up a localized string similar to "TIFF frame's compression scheme ({0}) is not currently supported in GcTiffReader."
Looks up a localized string similar to "Differencing Predictor is supported for LZW and Deflate TIFF encoding schemes only."
Looks up a localized string similar to "FillOrder = 2 is only supported for SamplesPerPixel = 1 and BitsPerSample = 1."
Looks up a localized string similar to "Indexed images with BitsPerSample other than 4 or 8 are not currently supported in GcTiffReader (BitsPerSample = {0})."
Looks up a localized string similar to "The specified color space (PhotometricInterpretation = {0}) is not currently supported in GcTiffReader."
Looks up a localized string similar to "RGB images with SamplesPerPixel other than 3 or 4 are not currently supported in GcTiffReader."
Looks up a localized string similar to "Either TileWidth or TileLength are equal to zero for a tiled TIFF frame."
Looks up a localized string similar to "TIFF frame has either width or length equal to zero."
Represents a palette color for an indexed bitmap.
Creates a with given values for the color channels.
The Red channel value (0..65535).
The Green channel value (0..65535).
The Blue channel value (0..65535).
Creates a with given (premultiplied by alpha) values for the color channels.
The Red channel value (0..65535), premultiplied by the associated alpha component.
The Green channel value (0..65535), premultiplied by the associated alpha component.
The Blue channel value (0..65535), premultiplied by the associated alpha component.
The Alpha channel value (0..65535).
Gets or sets a value of the Red channel.
If applicable, the value must be premultiplied by the associated alpha component.
Gets or sets a value of the Green channel.
If applicable, the value must be premultiplied by the associated alpha component.
Gets or sets a value of the Blue channel.
If applicable, the value must be premultiplied by the associated alpha component.
Gets or sets a value of the Alpha channel (if applicable).
Determines if the specified values are equal.
Determines if the specified values are not equal.
Returns a hash code for this instance.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Determines whether the specified is equal to this instance.
Determines whether the specified is equal to this instance.
Returns a string that represents the current object.
Returns a that represents this instance.
The format.
A that represents this instance.
Returns a that represents this instance.
The format provider.
A that represents this instance.
Returns a that represents this instance.
The format.
The format provider.
A that represents this instance.
A helper class for creating objects.
Initializes a new instance of the class.
Gets the list of figures to be converted to a path.
Clears the list of figures and all pending changes.
Adds an existing figure to the path.
Adds one or several existing figures to the path.
Creates a from the current set of figures.
Specifies how the interior of closed figures is filled.
Creates a from the current set of figures.
Specifies how the interior of closed figures is filled.
The transformation to apply to path figures.
Gets a value indicating if there is an active figure to update.
Gets a value indicating if the active figure contains one or more segments.
Starts a new figure at the specified point.
The point at which to begin the new figure.
Starts a new figure at the specified point.
The x-coordinate of the point at which to begin the new figure.
The y-coordinate of the point at which to begin the new figure.
Ends the current figure; optionally, closes it.
A value indicating whether the current figure should be closed. If the figure is closed, a line is drawn between the end point of the last segment and the start point.
Discards the active figure.
Creates a line segment between the current point and the specified end point and adds it to the figure.
The end point of the line to draw.
Creates a line segment between the current point and the specified end point and adds it to the figure.
The x-coordinate of the end point of the line to draw.
The y-coordinate of the end point of the line to draw.
Creates a sequence of lines using the specified points and adds them to the figure.
An array of one or more points that describe the lines to draw.
Creates a cubic Bezier curve and adds it to the figure.
Creates a sequence of cubic Bezier curves and adds them to the figure.
Control point 1, control point 2, and the end point for one or several cubic Bezier curves.
Creates a quadratic Bezier curve and adds it to the figure.
Creates a sequence of quadratic Bezier curves and adds them to the figure.
Control point and the end point for one or several quadratic Bezier curves.
Adds a single arc to the path geometry.
The arc segment to add to the figure.
Creates a copy of the current figure.
Reverses the order of points in the figure.
Converts each curve in this figure into a sequence of connected line segments.
A matrix with additional world transformation by which to transform this figure before flattening.
True if the figure has some interior
Represents a rectangle-like closed path.
Initializes a new instance of the class.
Initializes a new instance of the class.
Initializes a new instance of the class.
Gets or sets the rectangular region coordinates.
Gets or sets a value specifying whether orientation of four points is counterclockwise.
Gets or sets the transformation matrix.
Gets a value indicating if the figure is closed, i.e. a line is drawn between the end point of the last segment and the start point.
Reverses the order of points in the figure.
Gets the maximum number of intersections that a polygon can have when testing a line.
Gets points in world coordinates that will be joined by straight lines to form the polygon.
Gets the minimum X coordinate among the transformed points.
Gets the maximum X coordinate among the transformed points.
Gets the minimum Y coordinate among the transformed points.
Gets the maximum Y coordinate among the transformed points.
Creates a copy of the current figure.
Converts each curve in this figure into a sequence of connected line segments.
A matrix with additional world transformation by which to transform this figure before flattening.
True if the figure has some interior
Describes the interior of a graphics shape composed of figures and paths.
Initializes a new instance of the class with the alternate fill mode.
The array of figures to be added to the region.
Initializes a new instance of the class with explicitly provided fill mode.
Specifies how the interior of closed figures is filled.
The array of figures to be added to the region.
Initializes a new instance of the class.
The path to be added to the region.
Indicates if the source path figures should be cloned before adding to the new region.
Creates a deep copy of the .
Creates a transformed copy of the .
The transformation to apply.
Combines this region with the specified region.
The region to combine with this instance.
The type of combine operation to perform.
Indicates if the input region should be cloned before combining.
A copy of the input region that is being combined with this instance.
Combines this region with the specified region.
The region to combine with this instance.
The type of combine operation to perform.
The transform to apply to inputRegion before combining.
A copy of the input region that is being combined with this instance.
Combines this region with a .
The to combine with this region.
The type of combine operation to perform.
Indicates if the input region should be cloned before combining.
The actual region that is being combined with this instance.
Combines this region with a .
The to combine with this region.
The type of combine operation to perform.
The transform to apply to inputPath before combining.
The actual region that is being combined with this instance.
Describes a combine operation between regions.
Initializes a new instance of the class.
Initializes a new instance of the class.
Creates a deep copy of the .
The region to combine with the base region.
The transform to apply to before combining.
The type of combine operation to perform.
Represents a rounded rectangle-like closed path.
Initializes a new instance of the class.
Initializes a new instance of the class.
Initializes a new instance of the class.
Initializes a new instance of the class.
Gets or sets the bounds for the rounded rectangle.
Gets or sets the x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
Gets or sets the y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
Gets or sets a value indicating if the points should be arranged counterclockwise.
Gets or sets the transformation matrix.
Gets a value indicating if the figure is closed, i.e. a line is drawn between the end point of the last segment and the start point.
Reverses the order of points in the figure.
Gets the maximum number of intersections that a polygon can have when testing a line.
Gets points in world coordinates that will be joined by straight lines to form the polygon.
Gets the minimum X coordinate among the transformed points.
Gets the maximum X coordinate among the transformed points.
Gets the minimum Y coordinate among the transformed points.
Gets the maximum Y coordinate among the transformed points.
Creates a copy of the current figure.
Converts each curve in this figure into a sequence of connected line segments.
A matrix with additional world transformation by which to transform this figure before flattening.
True if the figure has some interior
Extension methods over Image{TPixel}
Gets the configuration for the image.
The Pixel format.
The source image
Returns the configuration.
Gets the representation of the pixels as a of contiguous memory in the source image's pixel format
stored in row major order.
The type of the pixel.
The source.
The
Gets the representation of the pixels as a of contiguous memory in the source image's pixel format
stored in row major order.
The type of the pixel.
The source.
The
Gets the representation of the pixels as a of contiguous memory
at row beginning from the the first pixel on that row.
The type of the pixel.
The source.
The row.
The
Gets the representation of the pixels as of of contiguous memory
at row beginning from the the first pixel on that row.
The type of the pixel.
The source.
The row.
The
Returns a reference to the 0th element of the Pixel buffer,
allowing direct manipulation of pixel data through unsafe operations.
The pixel buffer is a contiguous memory area containing Width*Height TPixel elements laid out in row-major order.
The Pixel format.
The source image frame
A pinnable reference the first root of the pixel buffer.
Returns a reference to the 0th element of the Pixel buffer,
allowing direct manipulation of pixel data through unsafe operations.
The pixel buffer is a contigous memory area containing Width*Height TPixel elements layed out in row-major order.
The Pixel format.
The source image
A pinnable reference the first root of the pixel buffer.
Gets the representation of the pixels as a of contiguous memory in the source image's pixel format
stored in row major order.
The Pixel format.
The source
The
Gets the representation of the pixels as a of contiguous memory in the source image's pixel format
stored in row major order.
The Pixel format.
The source
The
Gets the representation of the pixels as a of contiguous memory
at row beginning from the the first pixel on that row.
The type of the pixel.
The source.
The row.
The
Gets the representation of the pixels as of of contiguous memory
at row beginning from the the first pixel on that row.
The type of the pixel.
The source.
The row.
The
Gets the assigned to 'source'.
The source image
Returns the configuration.
Gets the span to the backing buffer.
The type of the pixel.
The source.
The span retuned from Pixel source
Gets the span to the backing buffer at the given row.
The type of the pixel.
The source.
The row.
The span retuned from Pixel source
Gets the span to the backing buffer at the given row.
The type of the pixel.
The source.
The row.
The span retuned from Pixel source
Gets the configuration.
The source image
Returns the bounds of the image
Returns a reference to the 0th element of the Pixel buffer.
Such a reference can be used for pinning but must never be dereferenced.
The source image frame
A reference to the element.
Encapsulates the properties for configuration.
Gets the configuration.
Encapsulates the basic properties and methods required to manipulate images.
The type of the pixel.
Gets the pixel buffer.
Represents a CIE L*a*b* 1976 color.
D50 standard illuminant.
Used when reference white is not specified explicitly.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The lightness dimension.
The a (green - magenta) component.
The b (blue - yellow) component.
Uses as white point.
Initializes a new instance of the struct.
The lightness dimension.
The a (green - magenta) component.
The b (blue - yellow) component.
The reference white point.
Initializes a new instance of the struct.
The vector representing the l, a, b components.
Uses as white point.
Initializes a new instance of the struct.
The vector representing the l, a, b components.
The reference white point.
Gets the reference white point of this color
Gets the lightness dimension.
A value ranging between 0 (black), 100 (diffuse white) or higher (specular white).
Gets the a color component.
A value ranging from -100 to 100. Negative is green, positive magenta.
Gets the b color component.
A value ranging from -100 to 100. Negative is blue, positive is yellow
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Represents the CIE L*C*h°, cylindrical form of the CIE L*a*b* 1976 color.
D50 standard illuminant.
Used when reference white is not specified explicitly.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The lightness dimension.
The chroma, relative saturation.
The hue in degrees.
Uses as white point.
Initializes a new instance of the struct.
The lightness dimension.
The chroma, relative saturation.
The hue in degrees.
The reference white point.
Initializes a new instance of the struct.
The vector representing the l, c, h components.
Uses as white point.
Initializes a new instance of the struct.
The vector representing the l, c, h components.
The reference white point.
Gets the reference white point of this color
Gets the lightness dimension.
A value ranging between 0 (black), 100 (diffuse white) or higher (specular white).
Gets the a chroma component.
A value ranging from 0 to 100.
Gets the h° hue component in degrees.
A value ranging from 0 to 360.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Computes the saturation of the color (chroma normalized by lightness)
A value ranging from 0 to 100.
The
Represents the CIE L*C*h°, cylindrical form of the CIE L*u*v* 1976 color.
D50 standard illuminant.
Used when reference white is not specified explicitly.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The lightness dimension.
The chroma, relative saturation.
The hue in degrees.
Uses as white point.
Initializes a new instance of the struct.
The lightness dimension.
The chroma, relative saturation.
The hue in degrees.
The reference white point.
Initializes a new instance of the struct.
The vector representing the l, c, h components.
Uses as white point.
Initializes a new instance of the struct.
The vector representing the l, c, h components.
The reference white point.
Gets the reference white point of this color
Gets the lightness dimension.
A value ranging between 0 (black), 100 (diffuse white) or higher (specular white).
Gets the a chroma component.
A value ranging from 0 to 100.
Gets the h° hue component in degrees.
A value ranging from 0 to 360.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Computes the saturation of the color (chroma normalized by lightness)
A value ranging from 0 to 100.
The
The CIE 1976 (L*, u*, v*) color space, commonly known by its abbreviation CIELUV, is a color space adopted by the International
Commission on Illumination (CIE) in 1976, as a simple-to-compute transformation of the 1931 CIE XYZ color space, but which
attempted perceptual uniformity
D65 standard illuminant.
Used when reference white is not specified explicitly.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The lightness dimension.
The blue-yellow chromaticity coordinate of the given whitepoint.
The red-green chromaticity coordinate of the given whitepoint.
Uses as white point.
Initializes a new instance of the struct.
The lightness dimension.
The blue-yellow chromaticity coordinate of the given whitepoint.
The red-green chromaticity coordinate of the given whitepoint.
The reference white point.
Initializes a new instance of the struct.
The vector representing the l, u, v components.
Uses as white point.
Initializes a new instance of the struct.
The vector representing the l, u, v components.
The reference white point.
Gets the reference white point of this color
Gets the lightness dimension
A value usually ranging between 0 and 100.
Gets the blue-yellow chromaticity coordinate of the given whitepoint.
A value usually ranging between -100 and 100.
Gets the red-green chromaticity coordinate of the given whitepoint.
A value usually ranging between -100 and 100.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Represents the coordinates of CIEXY chromaticity space
The backing vector for SIMD support.
Initializes a new instance of the struct.
Chromaticity coordinate x (usually from 0 to 1)
Chromaticity coordinate y (usually from 0 to 1)
Initializes a new instance of the struct.
The vector containing the XY Chromaticity coordinates
Gets the chromaticity X-coordinate.
Ranges usually from 0 to 1.
Gets the chromaticity Y-coordinate
Ranges usually from 0 to 1.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Represents an CIE xyY 1931 color
The backing vector for SIMD support.
Initializes a new instance of the struct.
The x chroma component.
The y chroma component.
The y luminance component.
Initializes a new instance of the struct.
The vector representing the x, y, Y components.
Gets the X chrominance component.
A value usually ranging between 0 and 1.
Gets the Y chrominance component.
A value usually ranging between 0 and 1.
Gets the Y luminance component.
A value usually ranging between 0 and 1.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Represents an CIE XYZ 1931 color
The backing vector for SIMD support.
Initializes a new instance of the struct.
X is a mix (a linear combination) of cone response curves chosen to be nonnegative
The y luminance component.
Z is quasi-equal to blue stimulation, or the S cone of the human eye.
Initializes a new instance of the struct.
The vector representing the x, y, z components.
Gets the X component. A mix (a linear combination) of cone response curves chosen to be nonnegative.
A value usually ranging between 0 and 1.
Gets the Y luminance component.
A value usually ranging between 0 and 1.
Gets the Z component. Quasi-equal to blue stimulation, or the S cone response
A value usually ranging between 0 and 1.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Represents an CMYK (cyan, magenta, yellow, keyline) color.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The cyan component.
The magenta component.
The yellow component.
The keyline black component.
Initializes a new instance of the struct.
The vector representing the c, m, y, k components.
Gets the cyan color component.
A value ranging between 0 and 1.
Gets the magenta color component.
A value ranging between 0 and 1.
Gets the yellow color component.
A value ranging between 0 and 1.
Gets the keyline black color component.
A value ranging between 0 and 1.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Constants use for Cie conversion calculations
216F / 24389F
24389F / 27F
Performs chromatic adaptation on the various color spaces.
Allows conversion to .
Allows conversion to .
Allows conversion to .
Allows conversion to .
Allows conversion to .
Allows conversion to .
Allows conversion to .
Converts between color spaces ensuring that the color is adapted using chromatic adaptation.
Allows conversion to .
Allows conversion to .
Allows conversion to .
Allows conversion to .
Allows conversion to .
Allows conversion to .
Allows conversion to .
Performs chromatic adaptation of given color.
Target white point is .
The color to adapt
The white point to adapt for
The adapted color
Adapts color from the source white point to white point set in .
The color to adapt
The adapted color
Adapts color from the source white point to white point set in .
The color to adapt
The adapted color
Adapts color from the source white point to white point set in .
The color to adapt
The adapted color
Adapts color from the source white point to white point set in .
The color to adapt
The adapted color
Adapts color from the source white point to white point set in .
The color to adapt
The adapted color
Adapts a color from the source working space to working space set in .
The color to adapt
The adapted color
Adapts an color from the source working space to working space set in .
The color to adapt
The adapted color
The converter for converting between CieLch to CieLab.
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
The converter for converting between CieLab to CieLch.
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
The converter for converting between CieLab to CieLchuv.
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Gets the correct converter for the given rgb working space.
The source working space
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
The default whitepoint used for converting to CieLab
Initializes a new instance of the class.
Gets or sets the white point used for chromatic adaptation in conversions from/to XYZ color space.
When null, no adaptation will be performed.
Gets or sets the white point used *when creating* Luv/LChuv colors. (Luv/LChuv colors on the input already contain the white point information)
Defaults to: .
Gets or sets the white point used *when creating* Lab/LChab colors. (Lab/LChab colors on the input already contain the white point information)
Defaults to: .
Gets or sets the white point used *when creating* HunterLab colors. (HunterLab colors on the input already contain the white point information)
Defaults to: .
Gets or sets the target working space used *when creating* RGB colors. (RGB colors on the input already contain the working space information)
Defaults to: .
Gets or sets the chromatic adaptation method used. When null, no adaptation will be performed.
Gets or sets transformation matrix used in conversion to ,
also used in the default Von Kries Chromatic Adaptation method.
Gets a value indicating whether chromatic adaptation has been performed.
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Gets the correct converter for the given rgb working space.
The target working space
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Converts a into a
The color to convert.
The
Chromatic adaptation.
A linear transformation of a source color (XS, YS, ZS) into a destination color (XD, YD, ZD) by a linear transformation [M]
which is dependent on the source reference white (XWS, YWS, ZWS) and the destination reference white (XWD, YWD, ZWD).
Performs a linear transformation of a source color in to the destination color.
Doesn't crop the resulting color space coordinates (e. g. allows negative values for XYZ coordinates).
The source color.
The source white point.
The target white point.
The
Converts color between two color spaces.
The input color type.
The result color type.
Performs the conversion from the input to an instance of the output type.
The input color instance.
The converted result
Converts from to .
Converts from to .
Initializes a new instance of the class.
Initializes a new instance of the class.
The target reference lab white point
Gets the target reference whitepoint. When not set, is used.
Converts from to .
Converts from to .
Converts from to .
Converts from to .
Converts from to .
Calculates the blue-yellow chromacity based on the given whitepoint.
The whitepoint
The
Calculates the red-green chromacity based on the given whitepoint.
The whitepoint
The
Converts from to .
Initializes a new instance of the class.
Initializes a new instance of the class.
The target reference luv white point
Gets the target reference whitepoint. When not set, is used.
Calculates the blue-yellow chromacity based on the given whitepoint.
The whitepoint
The
Calculates the red-green chromacity based on the given whitepoint.
The whitepoint
The
Color converter between CIE XYZ and CIE xyY
for formulas.
Color converter between CMYK and Rgb
Color converter between HSL and Rgb
See for formulas.
Gets the color component from the given values.
The first value.
The second value.
The third value.
The .
Moves the specific value within the acceptable range for
conversion.
Used for converting colors to this type.
The value to shift.
The .
Color converter between HSV and Rgb
See for formulas.
The base class for converting between and color spaces.
Returns the Ka coefficient that depends upon the whitepoint illuminant.
The whitepoint
The
Returns the Kb coefficient that depends upon the whitepoint illuminant.
The whitepoint
The
Color converter between CieXyz and HunterLab
Initializes a new instance of the class.
Initializes a new instance of the class.
The hunter Lab white point.
Gets the target reference white. When not set, is used.
Color converter between HunterLab and CieXyz
Color converter between CIE XYZ and LMS
Default transformation matrix used, when no other is set. (Bradford)
Initializes a new instance of the class.
Initializes a new instance of the class.
Definition of the cone response domain (see ),
if not set will be used.
Gets or sets the transformation matrix used for the conversion (definition of the cone response domain).
AdaptionMatrix3X3 used for transformation from XYZ to LMS, defining the cone response domain.
Used in
Matrix data obtained from:
Two New von Kries Based Chromatic Adaptation Transforms Found by Numerical Optimization
S. Bianco, R. Schettini
DISCo, Department of Informatics, Systems and Communication, University of Milan-Bicocca, viale Sarca 336, 20126 Milan, Italy
https://web.stanford.edu/~sujason/ColorBalancing/Papers/Two%20New%20von%20Kries%20Based%20Chromatic%20Adaptation.pdf
Von Kries chromatic adaptation transform matrix (Hunt-Pointer-Estevez adjusted for D65)
Von Kries chromatic adaptation transform matrix (Hunt-Pointer-Estevez for equal energy)
XYZ scaling chromatic adaptation transform matrix
Bradford chromatic adaptation transform matrix (used in CMCCAT97)
Spectral sharpening and the Bradford transform
CMCCAT2000 (fitted from all available color data sets)
CAT02 (optimized for minimizing CIELAB differences)
Color converter between CieXyz and LinearRgb
Initializes a new instance of the class.
Initializes a new instance of the class.
The target working space.
Gets the target working space
Implements gamma companding
Initializes a new instance of the class.
The gamma value.
Gets the gamma value
Implements L* companding
For more info see:
Provides base methods for converting between Rgb and CieXyz color spaces.
Returns the correct matrix to convert between the Rgb and CieXyz color space.
The Rgb working space.
The based on the chromaticity and working space.
Color converter between LinearRgb and CieXyz
Initializes a new instance of the class.
Initializes a new instance of the class.
The target working space.
Gets the source working space
Color converter between LinearRgb and Rgb
Implements Rec. 2020 companding function (for 12-bits).
For 10-bits, companding is identical to
Implements the Rec. 709 companding function
http://en.wikipedia.org/wiki/Rec._709
Represents the chromaticity coordinates of RGB primaries.
One of the specifiers of .
Initializes a new instance of the struct.
The chomaticity coordinates of the red channel.
The chomaticity coordinates of the green channel.
The chomaticity coordinates of the blue channel.
Gets the chomaticity coordinates of the red channel.
Gets the chomaticity coordinates of the green channel.
Gets the chomaticity coordinates of the blue channel.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Color converter between Rgb and LinearRgb
Trivial implementation of
Initializes a new instance of the class.
The reference white point.
The function pair for converting to and back.
The chromaticity of the rgb primaries.
Gets the reference white point
Gets the function pair for converting to and back.
Gets the chromaticity of the rgb primaries.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Implements sRGB companding
For more info see:
Color converter between YCbCr and Rgb
See for formulas.
Basic implementation of the von Kries chromatic adaptation model
Transformation described here:
http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html
Initializes a new instance of the class.
Initializes a new instance of the class.
The transformation matrix used for the conversion (definition of the cone response domain).
Initializes a new instance of the class.
The color converter
Represents a Hsl (hue, saturation, lightness) color.
Max range used for clamping.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The h hue component.
The s saturation component.
The l value (lightness) component.
Initializes a new instance of the struct.
The vector representing the h, s, l components.
Gets the hue component.
A value ranging between 0 and 360.
Gets the saturation component.
A value ranging between 0 and 1.
Gets the lightness component.
A value ranging between 0 and 1.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Represents a HSV (hue, saturation, value) color. Also known as HSB (hue, saturation, brightness).
Max range used for clamping.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The h hue component.
The s saturation component.
The v value (brightness) component.
Initializes a new instance of the struct.
The vector representing the h, s, v components.
Gets the hue component.
A value ranging between 0 and 360.
Gets the saturation component.
A value ranging between 0 and 1.
Gets the value (brightness) component.
A value ranging between 0 and 1.
Allows the implicit conversion of an instance of to a
.
The instance of to convert.
An instance of .
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Represents an Hunter LAB color.
D50 standard illuminant.
Used when reference white is not specified explicitly.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The lightness dimension.
The a (green - magenta) component.
The b (blue - yellow) component.
Uses as white point.
Initializes a new instance of the struct.
The lightness dimension.
The a (green - magenta) component.
The b (blue - yellow) component.
The reference white point.
Initializes a new instance of the struct.
The vector representing the l, a, b components.
Uses as white point.
Initializes a new instance of the struct.
The vector representing the l a b components.
The reference white point.
Gets the reference white point of this color
Gets the lightness dimension.
A value ranging between 0 (black), 100 (diffuse white) or higher (specular white).
Gets the a color component.
A value ranging from -100 to 100. Negative is green, positive magenta.
Gets the b color component.
A value ranging from -100 to 100. Negative is blue, positive is yellow
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Defines a generalized method that a value type or class implements to create
a type-specific method for determining approximate equality of instances.
The type of objects to compare.
The object specifying the type to specify precision with.
Indicates whether the current object is equal to another object of the same type
when compared to the specified precision level.
An object to compare with this object.
The object specifying the level of precision.
true if the current object is equal to the other parameter; otherwise, false.
Color represented as a vector in its color space
Gets the vector representation of the color
Pair of companding functions for .
Used for conversion to and backwards.
See also:
Expands a companded channel to its linear equivalent with respect to the energy.
For more info see:
The channel value
The linear channel value
Compresses an uncompanded channel (linear) to its nonlinear equivalent (depends on the RGB color system).
For more info see:
The channel value
The nonlinear channel value
The well known standard illuminants.
Standard illuminants provide a basis for comparing images or colors recorded under different lighting
Coefficients taken from:
http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html
Descriptions taken from:
http://en.wikipedia.org/wiki/Standard_illuminant
Incandescent / Tungsten
Direct sunlight at noon (obsoleteF)
Average / North sky Daylight (obsoleteF)
Horizon Light. ICC profile PCS
Mid-morning / Mid-afternoon Daylight
Noon Daylight: TelevisionF, sRGB color space
North sky Daylight
Equal energy
Cool White Fluorescent
D65 simulatorF, Daylight simulator
Philips TL84F, Ultralume 40
Represents an linear Rgb color with specified working space
The default LinearRgb working space.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The red component ranging between 0 and 1.
The green component ranging between 0 and 1.
The blue component ranging between 0 and 1.
Initializes a new instance of the struct.
The red component ranging between 0 and 1.
The green component ranging between 0 and 1.
The blue component ranging between 0 and 1.
The rgb working space.
Initializes a new instance of the struct.
The vector representing the r, g, b components.
Initializes a new instance of the struct.
The vector representing the r, g, b components.
The LinearRgb working space.
Gets the red component.
A value usually ranging between 0 and 1.
Gets the green component.
A value usually ranging between 0 and 1.
Gets the blue component.
A value usually ranging between 0 and 1.
Gets the LinearRgb color space
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
LMS is a color space represented by the response of the three types of cones of the human eye,
named after their responsivity (sensitivity) at long, medium and short wavelengths.
The backing vector for SIMD support.
Initializes a new instance of the struct.
L represents the responsivity at long wavelengths.
M represents the responsivity at medium wavelengths.
S represents the responsivity at short wavelengths.
Initializes a new instance of the struct.
The vector representing the l, m, s components.
Gets the L long component.
A value usually ranging between -1 and 1.
Gets the M medium component.
A value usually ranging between -1 and 1.
Gets the S short component.
A value usually ranging between -1 and 1.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Represents an RGB color with specified working space
The default rgb working space
The backing vector for SIMD support.
Initializes a new instance of the struct.
The red component ranging between 0 and 1.
The green component ranging between 0 and 1.
The blue component ranging between 0 and 1.
Initializes a new instance of the struct.
The red component ranging between 0 and 1.
The green component ranging between 0 and 1.
The blue component ranging between 0 and 1.
The rgb working space.
Initializes a new instance of the struct.
The vector representing the r, g, b components.
Initializes a new instance of the struct.
The vector representing the r, g, b components.
The rgb working space.
Gets the red component.
A value usually ranging between 0 and 1.
Gets the green component.
A value usually ranging between 0 and 1.
Gets the blue component.
A value usually ranging between 0 and 1.
Gets the Rgb color space
Allows the implicit conversion of an instance of to a
.
The instance of to convert.
An instance of .
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Chromaticity coordinates taken from:
sRgb working space.
Uses proper companding function, according to:
Simplified sRgb working space (uses gamma companding instead of ).
See also .
Rec. 709 (ITU-R Recommendation BT.709) working space.
Rec. 2020 (ITU-R Recommendation BT.2020F) working space.
ECI Rgb v2 working space.
Adobe Rgb (1998) working space.
Apple sRgb working space.
Best Rgb working space.
Beta Rgb working space.
Bruce Rgb working space.
CIE Rgb working space.
ColorMatch Rgb working space.
Don Rgb 4 working space.
Ekta Space PS5 working space.
NTSC Rgb working space.
PAL/SECAM Rgb working space.
ProPhoto Rgb working space.
SMPTE-C Rgb working space.
Wide Gamut Rgb working space.
Represents an YCbCr (luminance, blue chroma, red chroma) color as defined in the ITU-T T.871 specification for the JFIF use with Jpeg.
Vector which is used in clamping to the max value.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The y luminance component.
The cb chroma component.
The cr chroma component.
Initializes a new instance of the struct.
The vector representing the y, cb, cr components.
Gets the Y luminance component.
A value ranging between 0 and 255.
Gets the Cb chroma component.
A value ranging between 0 and 255.
Gets the Cr chroma component.
A value ranging between 0 and 255.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is equal to the parameter; otherwise, false.
Compares two objects for inequality.
The on the left side of the operand.
The on the right side of the operand.
True if the current left is unequal to the parameter; otherwise, false.
Common constants used throughout the project
The epsilon value for comparing floating point numbers.
The epsilon squared value for comparing floating point numbers.
Extension methods for classes that implement .
Restricts a to be within a specified range.
The The value to clamp.
The minimum value. If value is less than min, min will be returned.
The maximum value. If value is greater than max, max will be returned.
The representing the clamped value.
Restricts a to be within a specified range.
The The value to clamp.
The minimum value. If value is less than min, min will be returned.
The maximum value. If value is greater than max, max will be returned.
The representing the clamped value.
Restricts a to be within a specified range.
The The value to clamp.
The minimum value. If value is less than min, min will be returned.
The maximum value. If value is greater than max, max will be returned.
The representing the clamped value.
Restricts a to be within a specified range.
The The value to clamp.
The minimum value. If value is less than min, min will be returned.
The maximum value. If value is greater than max, max will be returned.
The representing the clamped value.
Restricts a to be within a specified range.
The The value to clamp.
The minimum value. If value is less than min, min will be returned.
The maximum value. If value is greater than max, max will be returned.
The representing the clamped value.
Converts an to a first restricting the value between the
minimum and maximum allowable ranges.
The this method extends.
The
Converts an to a first restricting the value between the
minimum and maximum allowable ranges.
The this method extends.
The
Converts an to a first restricting the value between the
minimum and maximum allowable ranges.
The this method extends.
The
Contains extension methods for
Creates a object based on ,
having set to
Encapsulates a series of time saving extension methods to the interface.
Generates a sequence of integral numbers within a specified range.
The start index, inclusive.
The end index, exclusive.
The incremental step.
The that contains a range of sequential integral numbers.
Generates a sequence of integral numbers within a specified range.
The start index, inclusive.
A method that has one parameter and returns a calculating the end index
The incremental step.
The that contains a range of sequential integral numbers.
Generates a sequence of integral numbers within a specified range.
The start index, inclusive.
A method that has one parameter and returns a calculating the end index
The incremental step.
The that contains a range of sequential integral numbers.
Contains methods for converting values between unit scales.
The number of centimeters in a meter.
1 cm is equal to exactly 0.01 meters.
The number of centimeters in an inch.
1 inch is equal to exactly 2.54 centimeters.
The number of inches in a meter.
1 inch is equal to exactly 0.0254 meters.
Scales the value from centimeters to meters.
The value to scale.
The .
Scales the value from meters to centimeters.
The value to scale.
The .
Scales the value from meters to inches.
The value to scale.
The .
Scales the value from inches to meters.
The value to scale.
The .
Scales the value from centimeters to inches.
The value to scale.
The .
Scales the value from inches to centimeters.
The value to scale.
The .
Its faster to process multiple Vector4-s together, so let's pair them!
On AVX2 this pair should be convertible to of !
Downscale method, specific to Jpeg color conversion. Works only if Vector{float}.Count == 4!
TODO: Move it somewhere else.
AVX2-only Downscale method, specific to Jpeg color conversion.
TODO: Move it somewhere else.
Various extension and utility methods for and utilizing SIMD capabilities
Gets a value indicating whether the code is being executed on AVX2 CPU where both float and integer registers are of size 256 byte.
Transform all scalars in 'v' in a way that converting them to would have rounding semantics.
Rounds all values in 'v' to the nearest integer following semantics.
Source:
https://github.com/g-truc/glm/blob/master/glm/simd/common.h#L110
Convert 'source.Length' values normalized into [0..1] from 'source' into 'dest' buffer of values.
The values gonna be scaled up into [0-255] and rounded.
Based on:
http://lolengine.net/blog/2011/3/20/understanding-fast-float-integer-conversions
Same as but clamps overflown values before conversion.
Extension methods for the type.
Skips the number of bytes in the given stream.
The stream.
The count.
Extension methods for the struct.
Pre-multiplies the "x", "y", "z" components of a vector by its "w" component leaving the "w" component intact.
The to premultiply
The
Reverses the result of premultiplying a vector via .
The to premultiply
The
Compresses a linear color signal to its sRGB equivalent.
The whose signal to compress.
The .
Expands an sRGB color signal to its linear equivalent.
The whose signal to expand.
The .
Gets the compressed sRGB value from an linear signal.
The signal value to compress.
The .
Gets the expanded linear value from an sRGB signal.
The signal value to expand.
The .
Provides methods to protect against invalid parameters for a DEBUG build.
Verifies, that the method parameter with specified object value is not null
and throws an exception if it is found to be so.
The target object, which cannot be null.
The name of the parameter that is to be checked.
is null
Verifies that the specified value is less than a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value of greater than the maximum value.
Verifies, that the method parameter with specified target value is true
and throws an exception if it is found to be so.
The target value, which cannot be false.
The name of the parameter that is to be checked.
The error message, if any to add to the exception.
is false
Verifies, that the method parameter with specified target value is false
and throws an exception if it is found to be so.
The target value, which cannot be true.
The name of the parameter that is to be checked.
The error message, if any to add to the exception.
is true
Verifies, that the target span is of same size than the 'other' span.
The element type of the spans
The target span.
The 'other' span to compare 'target' to.
The name of the parameter that is to be checked.
has a different size than
Verifies, that the `target` span has the length of 'minSpan', or longer.
The element type of the spans
The target span.
The 'minSpan' span to compare 'target' to.
The name of the parameter that is to be checked.
has less items than
Provides methods to protect against invalid parameters.
Ensures that the value is not null.
The target object, which cannot be null.
The name of the parameter that is to be checked.
is null
Ensures that the target value is not null, empty, or whitespace.
The target string, which should be checked against being null or empty.
Name of the parameter.
is null.
is empty or contains only blanks.
Ensures that the enumeration is not null or empty.
The type of objects in the
The target enumeration, which should be checked against being null or empty.
Name of the parameter.
is null.
is empty.
Ensures that the specified value is less than a maximum value.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is greater than the maximum value.
Verifies that the specified value is less than or equal to a maximum value
and throws an exception if it is not.
The target value, which should be validated.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is greater than the maximum value.
Verifies that the specified value is greater than a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value
and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value.
Verifies that the specified value is greater than or equal to a minimum value and less than
or equal to a maximum value and throws an exception if it is not.
The target value, which should be validated.
The minimum value.
The maximum value.
The name of the parameter that is to be checked.
The type of the value.
is less than the minimum value of greater than the maximum value.
Verifies, that the method parameter with specified target value is true
and throws an exception if it is found to be so.
The target value, which cannot be false.
The name of the parameter that is to be checked.
The error message, if any to add to the exception.
is false
Verifies, that the method parameter with specified target value is false
and throws an exception if it is found to be so.
The target value, which cannot be true.
The name of the parameter that is to be checked.
The error message, if any to add to the exception.
is true
Verifies, that the `source` span has the length of 'minLength', or longer.
The element type of the spans
The source span.
The minimum length.
The name of the parameter that is to be checked.
has less than items
Verifies, that the `source` span has the length of 'minLength', or longer.
The element type of the spans
The target span.
The minimum length.
The name of the parameter that is to be checked.
has less than items
Provides common mathematical methods.
Returns the absolute value of a 32-bit signed integer. Uses bit shifting to speed up the operation.
A number that is greater than , but less than or equal to
The
Returns how many bits are required to store the specified number of colors.
Performs a Log2() on the value.
The number of colors.
The
Implementation of 1D Gaussian G(x) function
The x provided to G(x).
The spread of the blur.
The Gaussian G(x)
Returns the result of a normalized sine cardinal function for the given value.
SinC(x) = sin(pi*x)/(pi*x).
A single-precision floating-point number to calculate the result for.
The sine cardinal of .
Returns the result of a B-C filter against the given value.
The value to process.
The B-Spline curve variable.
The Cardinal curve variable.
The .
Gets the bounding from the given points.
The designating the top left position.
The designating the bottom right position.
The bounding .
Finds the bounding rectangle based on the first instance of any color component other
than the given one.
The pixel format.
The to search within.
The color component value to remove.
The channel to test against.
The .
Global inlining options. Helps temporarily disable inling for better profiler output.
Utility methods for Parallel.For() execution. Use this instead of raw calls!
Helper method to execute Parallel.For using the settings in
Helper method to execute Parallel.For with temporary worker buffer shared between executing tasks.
The buffer is not guaranteed to be clean!
The value type of the buffer
The start index, inclusive.
The end index, exclusive.
The used for getting the and
The length of the requested parallel buffer
The delegate that is invoked once per iteration.
Provides configuration code which allows altering default behaviour or extending the library.
A lazily initialized configuration default instance.
Initializes a new instance of the class.
Initializes a new instance of the class.
A collection of configuration modules to register
Gets the default instance.
Gets or sets the maximum number of concurrent tasks enabled in ImageSharp algorithms
configured with this instance.
Gets the currently registered s.
Gets or sets the position in a stream to use for reading when using a seekable stream as an image data source.
Gets or sets the that is currently in use.
Gets or sets the that is currently in use.
Gets the maximum header size of all the formats.
Gets or sets the filesystem helper for accessing the local file system.
Gets or sets the image operations provider factory.
Registers a new format provider.
The configuration provider to call configure on.
Creates a shallow copy of the
A new configuration instance
Creates the default instance with the following s preregistered:
The default configuration of
Enumerates the available bits per pixel for bitmap.
24 bits per pixel. Each pixel consists of 3 bytes.
32 bits per pixel. Each pixel consists of 4 bytes.
Defines how the compression type of the image data
in the bitmap file.
Each image row has a multiple of four elements. If the
row has less elements, zeros will be added at the right side.
The format depends on the number of bits, stored in the info header.
If the number of bits are one, four or eight each pixel data is
a index to the palette. If the number of bits are sixteen,
twenty-four or thirty-two each pixel contains a color.
Two bytes are one data record. If the first byte is not zero, the
next two half bytes will be repeated as much as the value of the first byte.
If the first byte is zero, the record has different meanings, depending
on the second byte. If the second byte is zero, it is the end of the row,
if it is one, it is the end of the image.
Not supported at the moment.
Two bytes are one data record. If the first byte is not zero, the
next byte will be repeated as much as the value of the first byte.
If the first byte is zero, the record has different meanings, depending
on the second byte. If the second byte is zero, it is the end of the row,
if it is one, it is the end of the image.
Not supported at the moment.
Each image row has a multiple of four elements. If the
row has less elements, zeros will be added at the right side.
Not supported at the moment.
The bitmap contains a JPG image.
Not supported at the moment.
The bitmap contains a PNG image.
Not supported at the moment.
Registers the image encoders, decoders and mime type detectors for the bmp format.
Defines constants relating to BMPs
The list of mimetypes that equate to a bmp.
The list of file extensions that equate to a bmp.
Image decoder for generating an image out of a Windows bitmap stream.
Does not support the following formats at the moment:
- JPG
- PNG
- RLE4
- RLE8
- BitFields
Formats will be supported in a later releases. We advise always
to use only 24 Bit Windows bitmaps.
Performs the bmp decoding operation.
A useful decoding source example can be found at
The mask for the red part of the color for 16 bit rgb bitmaps.
The mask for the green part of the color for 16 bit rgb bitmaps.
The mask for the blue part of the color for 16 bit rgb bitmaps.
RLE8 flag value that indicates following byte has special meaning.
RLE8 flag value marking end of a scan line.
RLE8 flag value marking end of bitmap data.
RLE8 flag value marking the start of [x,y] offset instruction.
The stream to decode from.
The metadata
The file header containing general information.
TODO: Why is this not used? We advance the stream but do not use the values parsed.
The info header containing detailed information about the bitmap.
Initializes a new instance of the class.
The configuration.
Decodes the image from the specified this._stream and sets
the data to image.
The pixel format.
The stream, where the image should be
decoded from. Cannot be null (Nothing in Visual Basic).
is null.
The decoded image.
Reads the raw image information from the specified stream.
The containing image data.
Returns the y- value based on the given height.
The y- value representing the current row.
The height of the bitmap.
Whether the bitmap is inverted.
The representing the inverted value.
Calculates the amount of bytes to pad a row.
The image width.
The pixel component count.
The .
Performs final shifting from a 5bit value to an 8bit one.
The masked and shifted value
The
Looks up color values and builds the image from de-compressed RLE8 data.
Compresssed RLE8 stream is uncompressed by
The pixel format.
The to assign the palette to.
The containing the colors.
The width of the bitmap.
The height of the bitmap.
Whether the bitmap is inverted.
Produce uncompressed bitmap data from RLE8 stream
RLE8 is a 2-byte run-length encoding
If first byte is 0, the second byte may have special meaning
Otherwise, first byte is the length of the run and second byte is the color for the run
The width of the bitmap.
Buffer for uncompressed data.
Reads the color palette from the stream.
The pixel format.
The to assign the palette to.
The containing the colors.
The width of the bitmap.
The height of the bitmap.
The number of bits per pixel.
Whether the bitmap is inverted.
Reads the 16 bit color palette from the stream
The pixel format.
The to assign the palette to.
The width of the bitmap.
The height of the bitmap.
Whether the bitmap is inverted.
Reads the 24 bit color palette from the stream
The pixel format.
The to assign the palette to.
The width of the bitmap.
The height of the bitmap.
Whether the bitmap is inverted.
Reads the 32 bit color palette from the stream
The pixel format.
The to assign the palette to.
The width of the bitmap.
The height of the bitmap.
Whether the bitmap is inverted.
Reads the from the stream.
Reads the from the stream.
Reads the and from the stream and sets the corresponding fields.
Image encoder for writing an image to a stream as a Windows bitmap.
The encoder can currently only write 24-bit rgb images to streams.
Gets or sets the number of bits per pixel.
Image encoder for writing an image to a stream as a Windows bitmap.
The amount to pad each row by.
Initializes a new instance of the class.
The encoder options
The memory manager
Encodes the image to the specified stream from the .
The pixel format.
The to encode from.
The to encode the image data to.
Writes the pixel data to the binary stream.
The pixel format.
The to write to.
The containing pixel data.
Writes the 32bit color palette to the stream.
The pixel format.
The to write to.
The containing pixel data.
Writes the 24bit color palette to the stream.
The pixel format.
The to write to.
The containing pixel data.
Stores general information about the Bitmap file.
The first two bytes of the Bitmap file format
(thus the Bitmap header) are stored in big-endian order.
All of the other integer values are stored in little-endian format
(i.e. least-significant byte first).
Defines of the data structure in the bitmap file.
Gets the Bitmap identifier.
The field used to identify the bitmap file: 0x42 0x4D
(Hex code points for B and M)
Gets the size of the bitmap file in bytes.
Gets any reserved data; actual value depends on the application
that creates the image.
Gets the offset, i.e. starting address, of the byte where
the bitmap data can be found.
Registers the image encoders, decoders and mime type detectors for the bmp format.
Detects bmp file headers
This block of bytes tells the application detailed information
about the image, which will be used to display the image on
the screen.
Defines the size of the BITMAPINFOHEADER data structure in the bitmap file.
Defines the size of the BITMAPCOREHEADER data structure in the bitmap file.
Defines the size of the biggest supported header data structure in the bitmap file.
Defines the size of the field.
Gets or sets the size of this header
Gets or sets the bitmap width in pixels (signed integer).
Gets or sets the bitmap height in pixels (signed integer).
Gets or sets the number of color planes being used. Must be set to 1.
Gets or sets the number of bits per pixel, which is the color depth of the image.
Typical values are 1, 4, 8, 16, 24 and 32.
Gets or sets the compression method being used.
See the next table for a list of possible values.
Gets or sets the image size. This is the size of the raw bitmap data (see below),
and should not be confused with the file size.
Gets or sets the horizontal resolution of the image.
(pixel per meter, signed integer)
Gets or sets the vertical resolution of the image.
(pixel per meter, signed integer)
Gets or sets the number of colors in the color palette,
or 0 to default to 2^n.
Gets or sets the number of important colors used,
or 0 when every color is important{ get; set; } generally ignored.
Parses the full BITMAPINFOHEADER header (40 bytes).
The data to parse.
Parsed header
Parses the BITMAPCOREHEADER consisting of the headerSize, width, height, planes, and bitsPerPixel fields (12 bytes).
The data to parse,
Parsed header
Configuration options for use during bmp encoding
The encoder can currently only write 24-bit rgb images to streams.
Gets the number of bits per pixel.
Registers the image encoders, decoders and mime type detectors for the gif format.
Registers the image encoders, decoders and mime type detectors for the gif format.
Detects gif file headers
Encapsulates properties and methods required for decoding an image from a stream.
Decodes the image from the specified stream to the .
The pixel format.
The configuration for the image.
The containing image data.
The decoded image
Encapsulates properties and methods required for encoding an image to a stream.
Encodes the image to the specified stream from the .
The pixel format.
The to encode from.
The to encode the image data to.
Describes an image format.
Gets the name that describes this image format.
Gets the default mimetype that the image foramt uses
Gets all the mimetypes that have been used by this image foramt.
Gets the file extensions this image format commonly uses.
Used for detecting mime types from a file header
Gets the size of the header for this image type.
The size of the header.
Detect mimetype
The containing the file header.
returns the mime type of detected othersie returns null
Encapsulates methods used for detecting the raw image information without fully decoding it.
Reads the raw image information from the specified stream.
The configuration for the image.
The containing image data.
The object
Collection of Image Formats to be used in class.
The list of supported keyed to mime types.
The list of supported keyed to mime types.
The list of supported s.
The list of supported s.
Initializes a new instance of the class.
Gets the maximum header size of all the formats.
Gets the currently registered s.
Gets the currently registered s.
Gets the currently registered s.
Gets the currently registered s.
Registers a new format provider.
The format to register as a known format.
For the specified file extensions type find the e .
The extension to discover
The if found otherwise null
For the specified mime type find the .
The mime-type to discover
The if found; otherwise null
Sets a specific image encoder as the encoder for a specific image format.
The image format to register the encoder for.
The encoder to use,
Sets a specific image decoder as the decoder for a specific image format.
The image format to register the encoder for.
The decoder to use,
Removes all the registered image format detectors.
Adds a new detector for detecting mime types.
The detector to add
For the specified mime type find the decoder.
The format to discover
The if found otherwise null
For the specified mime type find the encoder.
The format to discover
The if found otherwise null
Sets the max header size.
Represents a Jpeg block with coefficiens.
A number of scalar coefficients in a
A fixed size buffer holding the values.
See:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/unsafe-code-pointers/fixed-size-buffers
Initializes a new instance of the struct.
A of coefficients
Gets or sets a value at the given index
The index
The value
Gets or sets a value in a row+coulumn of the 8x8 block
The x position index in the row
The column index
The value
Multiply all elements by a given
Divide all elements by a given
Add an to all elements
Subtract an from all elements
Pointer-based "Indexer" (getter part)
Block pointer
Index
The scaleVec value at the specified index
Pointer-based "Indexer" (setter part)
Block pointer
Index
Value
Convert to
Copy all elements to an array of .
Copy elements into 'destination' Span of values
Copy elements into 'destination' Span of values
Cast and copy -s from the beginning of 'source' span.
Calculate the total sum of absoulute differences of elements in 'a' and 'b'.
Represents a Jpeg block with coefficients.
Copy block data into the destination color buffer pixel area with the provided horizontal and vertical.
A number of scalar coefficients in a
Get/Set scalar elements at a given index
The index
The float value at the specified index
Fill the block with defaults (zeroes)
Load raw 32bit floating point data from source
Source
Load raw 32bit floating point data from source
Block pointer
Source
Load raw 32bit floating point data from source
Source
Copy raw 32bit floating point data to dest
Destination
Convert salars to byte-s and copy to dest
Pointer to block
Destination
Copy raw 32bit floating point data to dest
Block pointer
Destination
Copy raw 32bit floating point data to dest
Destination
Copy raw 32bit floating point data to dest
Destination
Multiply all elements of the block.
The value to multiply by
Multiply all elements of the block by the corresponding elements of 'other'
Adds a vector to all elements of the block.
The added vector
Quantize the block.
Block pointer
Qt pointer
Unzig pointer
Quantize 'block' into 'dest' using the 'qt' quantization table:
Unzig the elements of block into dest, while dividing them by elements of qt and "pre-rounding" the values.
To finish the rounding it's enough to (int)-cast these values.
Source block
Destination block
The quantization table
Pointer to elements of
Scales the 16x16 region represented by the 4 source blocks to the 8x8 DST block.
The destination block.
The source block.
Level shift by +128, clip to [0..255], and round all the values in the block.
Rounds all values in the block.
Transpose the block into the destination block.
The destination block
Level shift by +128, clip to [0, 255]
AVX2-only variant for executing and in one step.
Fill the block from 'source' doing short -> float conversion.
Provides information about the Adobe marker segment.
See the included 5116.DCT.pdf file in the source for more information.
Gets the length of an adobe marker segment.
Initializes a new instance of the struct.
The DCT encode version
The horizontal downsampling hint used for DCT encoding
The vertical downsampling hint used for DCT encoding
The color transform model used
Gets the DCT Encode Version
Gets the horizontal downsampling hint used for DCT encoding
0x0 : (none - Chop)
Bit 15 : Encoded with Blend=1 downsampling
Gets the vertical downsampling hint used for DCT encoding
0x0 : (none - Chop)
Bit 15 : Encoded with Blend=1 downsampling
Gets the colorspace transform model used
00 : Unknown (RGB or CMYK)
01 : YCbCr
02 : YCCK
Converts the specified byte array representation of an Adobe marker to its equivalent and
returns a value that indicates whether the conversion succeeded.
The byte array containing metadata to parse
The marker to return.
Encapsulates the conversion of Jpeg channels to RGBA values packed in buffer.
The avalilable converters
Initializes a new instance of the class.
Gets the of this converter.
Returns the corresponding to the given
The implementation of the conversion.
The input as a stack-only struct
The destination buffer of values
Returns the for the YCbCr colorspace that matches the current CPU architecture.
A stack-only struct to reference the input buffers using -s.
The component count
The component 0 (eg. Y)
The component 1 (eg. Cb)
The component 2 (eg. Cr)
The component 4
Initializes a new instance of the struct.
The 1-4 sized list of component buffers.
The row to convert
Collect (r0,r1...r8) (g0,g1...g8) (b0,b1...b8) vector values in the expected (r0,g0,g1,1), (r1,g1,g2,1) ... order.
SIMD convert using buffers of sizes divisable by 8.
SIMD convert using buffers of sizes divisable by 8.
The collection of lookup tables used for fast AC entropy scan decoding.
Initializes a new instance of the class.
The memory allocator used to allocate memory for image processing operations.
Gets the representing the table at the index in the collection.
The table index.
Gets a reference to the first element of the AC table indexed by ///
Builds a lookup table for fast AC entropy scan decoding.
The table index.
The collection of AC Huffman tables.
Represents a Huffman Table
Gets the max code array
Gets the value offset array
Gets the huffman value array
Gets the lookahead array
Gets the sizes array
Initializes a new instance of the struct.
The to use for buffer allocations.
The code lengths
The huffman values
Defines a 2 pairs of huffman tables.
Gets or sets the table at the given index.
The index
The
Common interface to represent raw Jpeg components.
Gets the component's position in the components array.
Gets the number of blocks in this component as
Gets the horizontal and the vertical sampling factor as
Gets the divisors needed to apply when calculating colors.
https://en.wikipedia.org/wiki/Chroma_subsampling
In case of 4:2:0 subsampling the values are: Luma.SubSamplingDivisors = (1,1) Chroma.SubSamplingDivisors = (2,2)
Gets the index of the quantization table for this block.
Gets the storing the "raw" frequency-domain decoded + unzigged blocks.
We need to apply IDCT and dequantiazition to transform them into color-space blocks.
Gets a reference to the at the given row and column index from
The column
The row
The
Represents decompressed, unprocessed jpeg data with spectral space -s.
Gets the image size in pixels.
Gets the number of coponents.
Gets the color space
Gets the components.
Gets the quantization tables, in zigzag order.
Provides information about the JFIF marker segment
TODO: Thumbnail?
Gets the length of an JFIF marker segment.
Initializes a new instance of the struct.
The major version
The minor version
The units for the density values
The horizontal pixel density
The veritcal pixel density
Gets the major version
Gets the minor version
Gets the units for the following pixel density fields
00 : No units; width:height pixel aspect ratio = Ydensity:Xdensity
01 : Pixels per inch (2.54 cm)
02 : Pixels per centimeter
Gets the horizontal pixel density. Must not be zero.
Gets the vertical pixel density. Must not be zero.
Converts the specified byte array representation of an JFIF marker to its equivalent and
returns a value that indicates whether the conversion succeeded.
The byte array containing metadata to parse
The marker to return.
Encapsulates the implementation of processing "raw" jpeg buffers into Jpeg image channels.
Source block
Temporal block 1 to store intermediate and/or final computation results
Temporal block 2 to store intermediate and/or final computation results
The quantization table as
Defines the horizontal and vertical scale we need to apply to the 8x8 sized block.
Initializes a new instance of the struct.
Processes 'sourceBlock' producing Jpeg color channel values from spectral values:
- Dequantize
- Applying IDCT
- Level shift by +128, clip to [0, 255]
- Copy the resultin color values into 'destArea' scaling up the block by amount defined in
Identifies the colorspace of a Jpeg image
Represents a single frame component
Gets the component Id
Gets or sets DC coefficient predictor
Gets the horizontal sampling factor.
Gets the vertical sampling factor.
Gets the number of blocks per line
Gets the number of blocks per column
Gets or sets the index for the DC Huffman table
Gets or sets the index for the AC Huffman table
Encapsulates postprocessing data for one component for .
Points to the current row in .
The size of the area in corrsponding to one 8x8 Jpeg block
Initializes a new instance of the class.
Gets the
Gets the
Gets the temporary working buffer of color values.
Gets
Gets the maximal number of block rows being processed in one step.
Invoke for block rows, copy the result into .
Represents a jpeg file marker.
Initializes a new instance of the struct.
The marker
The position within the stream
Initializes a new instance of the struct.
The marker
The position within the stream
Whether the current marker is invalid
Gets a value indicating whether the current marker is invalid
Gets the position of the marker within a stream
Gets the position of the marker within a stream
Represent a single jpeg frame
Gets or sets a value indicating whether the frame uses the extended specification
Gets or sets a value indicating whether the frame uses the progressive specification
Gets or sets the precision
Gets or sets the number of scanlines within the frame
Gets or sets the number of samples per scanline
Gets or sets the number of components within a frame. In progressive frames this value can range from only 1 to 4
Gets or sets the component id collection
Gets or sets the frame component collection
Gets or sets the maximum horizontal sampling factor
Gets or sets the maximum vertical sampling factor
Gets or sets the number of MCU's per line
Gets or sets the number of MCU's per column
Allocates the frame component blocks
Encapsulates the execution od post-processing algorithms to be applied on a to produce a valid :
(1) Dequantization
(2) IDCT
(3) Color conversion form one of the -s into a buffer of RGBA values
(4) Packing pixels from the buffer.
These operations are executed in steps.
image rows are converted in one step,
which means that size of the allocated memory is limited (does not depend on ).
The number of block rows to be processed in one Step.
The number of image pixel rows to be processed in one step.
Temporal buffer to store a row of colors.
The corresponding to the current determined by .
Initializes a new instance of the class.
The to use for buffer allocations.
The representing the uncompressed spectral Jpeg data
Gets the instances.
Gets the to be processed.
Gets the total number of post processor steps deduced from the height of the image and .
Gets the size of the temporary buffers we need to allocate into .
Gets the value of the counter that grows by each step by .
Process all pixels into 'destination'. The image dimensions should match .
The pixel type
The destination image
Execute one step processing pixel rows into 'destination'.
The pixel type
The destination image.
Convert and copy row of colors into 'destination' starting at row .
The pixel type
The destination image
Provides methods for identifying metadata and color profiles within jpeg images.
Describes the EXIF specific markers
Describes the EXIF specific markers
Describes the ICC specific markers
Describes Adobe specific markers
Returns a value indicating whether the passed bytes are a match to the profile identifier
The bytes to check
The profile identifier
The
Decodes the Huffman encoded spectral scan.
Originally ported from
with additional fixes for both performance and common encoding errors.
Initializes a new instance of the class.
The input stream.
The image frame.
The DC Huffman tables.
The AC Huffman tables.
The fast AC decoding tables.
The component index within the array.
The length of the components. Different to the array length.
The reset interval.
The spectral selection start.
The spectral selection end.
The successive approximation bit high end.
The successive approximation bit low end.
Decodes the entropy coded data.
Non-interleaved data, we just need to process one block at a ti
in trivial scanline order
number of blocks to do just depends on how many actual "pixels"
component has, independent of interleaved MCU blocking and such
Non-interleaved data, we just need to process one block at a time,
in trivial scanline order
number of blocks to do just depends on how many actual "pixels" this
component has, independent of interleaved MCU blocking and such
Poor man's stackalloc: Contains a value-type buffer sized for 4 instances.
Useful for decoder/encoder operations allocating a block for each Jpeg component.
The value-type buffer sized for 4 instances.
Enumerates the Huffman tables
The DC luminance huffman table index
The AC luminance huffman table index
The DC chrominance huffman table index
The AC chrominance huffman table index
A compiled look-up table representation of a huffmanSpec.
Each value maps to a uint32 of which the 8 most significant bits hold the
codeword size in bits and the 24 least significant bits hold the codeword.
The maximum codeword size is 16 bits.
The compiled representations of theHuffmanSpec.
Initializes static members of the struct.
Initializes a new instance of the struct.
dasd
Gets the collection of huffman values.
The Huffman encoding specifications.
The Huffman encoding specifications.
This encoder uses the same Huffman encoding for all images.
Gets count[i] - The number of codes of length i bits.
Gets value[i] - The decoded value of the codeword at the given index.
Initializes a new instance of the struct.
The number of codes.
The decoded values.
Enumerates the quantization tables
The luminance quantization table index
The chrominance quantization table index
Provides 8-bit lookup tables for converting from Rgb to YCbCr colorspace.
Methods to build the tables are based on libjpeg implementation.
TODO: Replace this logic with SIMD conversion (similar to the one in the decoder)!
The red luminance table
The green luminance table
The blue luminance table
The red blue-chrominance table
The green blue-chrominance table
The blue blue-chrominance table
B=>Cb and R=>Cr are the same
The green red-chrominance table
The blue red-chrominance table
Initializes the YCbCr tables
The intialized
TODO: Replace this logic with SIMD conversion (similar to the one in the decoder)!
Optimized method to allocates the correct y, cb, and cr values to the DCT blocks from the given r, g, b values.
On-stack worker struct to efficiently encapsulate the TPixel -> Rgb24 -> YCbCr conversion chain of 8x8 pixel blocks.
The pixel type to work on
The Y component
The Cb component
The Cr component
The color conversion tables
Temporal 8x8 block to hold TPixel data
Temporal RGB block
Converts a 8x8 image area inside 'pixels' at position (x,y) placing the result members of the structure (, , )
Contains inaccurate, but fast forward and inverse DCT implementations.
Apply floating point IDCT transformation into dest, using a temporary block 'temp' provided by the caller (optimization).
Ported from https://github.com/norishigefukushima/dct_simd/blob/master/dct/dct8x8_simd.cpp#L239
Source
Destination
Temporary block provided by the caller
Do IDCT internal operations on the left part of the block. Original src:
https://github.com/norishigefukushima/dct_simd/blob/master/dct/dct8x8_simd.cpp#L261
The source block
Destination block
Do IDCT internal operations on the right part of the block.
Original src:
https://github.com/norishigefukushima/dct_simd/blob/master/dct/dct8x8_simd.cpp#L261
The source block
The destination block
Original:
https://github.com/norishigefukushima/dct_simd/blob/master/dct/dct8x8_simd.cpp#L15
Source
Destination
Original:
https://github.com/norishigefukushima/dct_simd/blob/master/dct/dct8x8_simd.cpp#L15
Source
Destination
Apply floating point IDCT transformation into dest, using a temporary block 'temp' provided by the caller (optimization)
Source
Destination
Temporary block provided by the caller
If true, a constant -128.0 offset is applied for all values before FDCT
A generic 8x8 block implementation, useful for manipulating custom 8x8 pixel data.
FOR TESTING ONLY!
Gets or sets a value at the given index
The index
The value
FOR TESTING ONLY!
Gets or sets a value in a row+coulumn of the 8x8 block
The x position index in the row
The column index
The value
Load a 8x8 region of an image into the block.
The "outlying" area of the block will be stretched out with pixels on the right and bottom edge of the image.
Only for on-stack instances!
Extension methods for
Multiplies 'a.Width' with 'b.Width' and 'a.Height' with 'b.Height'.
TODO: Shouldn't we expose this as operator in SixLabors.Core?
Divides 'a.Width' with 'b.Width' and 'a.Height' with 'b.Height'.
TODO: Shouldn't we expose this as operator in SixLabors.Core?
Divide Width and Height as real numbers and return the Ceiling.
Divide Width and Height as real numbers and return the Ceiling.
Divide Width and Height as real numbers and return the Ceiling.
Holds the Jpeg UnZig array in a value/stack type.
Unzig maps from the zigzag ordering to the natural ordering. For example,
unzig[3] is the column and row of the fourth element in zigzag order. The
value is 16, which means first column (16%8 == 0) and third row (16/8 == 2).
Copy of in a value type
Unzig maps from the zigzag ordering to the natural ordering. For example,
unzig[3] is the column and row of the fourth element in zigzag order. The
value is 16, which means first column (16%8 == 0) and third row (16/8 == 2).
Returns the value at the given index
The index
The
Creates and fills an instance of with Jpeg unzig indices
The new instance
Apply Zigging to the given quantization table, so it will be sufficient to multiply blocks for dequantizing them.
Encoder for writing the data image to a stream in jpeg format.
Gets the quality, that will be used to encode the image. Quality
index must be between 0 and 100 (compression from max to min).
The quality of the jpg image from 0 to 100.
Gets the subsample ration, that will be used to encode the image.
The subsample ratio of the jpg image.
Registers the image encoders, decoders and mime type detectors for the jpeg format.
Contains jpeg constant values defined in the specification.
The maximum allowable length in each dimension of a jpeg image.
The list of mimetypes that equate to a jpeg.
The list of file extensions that equate to a jpeg.
Contains marker specific constants
The prefix used for all markers.
Same as but of type
The Start of Image marker
The End of Image marker
Application specific marker for marking the jpeg format.
Application specific marker for marking where to store metadata.
Application specific marker for marking where to store ICC profile information.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker used by Adobe for storing encoding information for DCT filters.
Application specific marker used by GraphicConverter to store JPEG quality.
The text comment marker
Define Quantization Table(s) marker
Specifies one or more quantization tables.
Start of Frame (baseline DCT)
Indicates that this is a baseline DCT-based JPEG, and specifies the width, height, number of components,
and component subsampling (e.g., 4:2:0).
Start Of Frame (Extended Sequential DCT)
Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components,
and component subsampling (e.g., 4:2:0).
Start Of Frame (progressive DCT)
Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components,
and component subsampling (e.g., 4:2:0).
Define Huffman Table(s)
Specifies one or more Huffman tables.
Define Restart Interval
Specifies the interval between RSTn markers, in macroblocks.This marker is followed by two bytes indicating the fixed size so
it can be treated like any other variable size segment.
Start of Scan
Begins a top-to-bottom scan of the image. In baseline DCT JPEG images, there is generally a single scan.
Progressive DCT JPEG images usually contain multiple scans. This marker specifies which slice of data it
will contain, and is immediately followed by entropy-coded data.
Define First Restart
Inserted every r macroblocks, where r is the restart interval set by a DRI marker.
Not used if there was no DRI marker. The low three bits of the marker code cycle in value from 0 to 7.
Define Eigth Restart
Inserted every r macroblocks, where r is the restart interval set by a DRI marker.
Not used if there was no DRI marker. The low three bits of the marker code cycle in value from 0 to 7.
Contains Adobe specific constants
The color transform is unknown.(RGB or CMYK)
The color transform is YCbCr (luminance, red chroma, blue chroma)
The color transform is YCCK (luminance, red chroma, blue chroma, keyline)
Image decoder for generating an image out of a jpg stream.
Gets or sets a value indicating whether the metadata should be ignored when the image is being decoded.
Performs the jpeg decoding operation.
Originally ported from
with additional fixes for both performance and common encoding errors.
The only supported precision
The global configuration
The buffer used to temporarily store bytes read from the stream.
The buffer used to read markers from the stream.
The DC HUffman tables
The AC HUffman tables
The fast AC tables used for entropy decoding
The reset interval determined by RST markers
Whether the image has an EXIF marker
Contains exif data
Whether the image has an ICC marker
Contains ICC data
Contains information about the JFIF marker
Contains information about the Adobe marker
Initializes a new instance of the class.
The configuration.
Gets the frame
Gets the number of MCU blocks in the image as .
Gets the image width
Gets the image height
Gets the color depth, in number of bits per pixel.
Gets the input stream.
Gets the decoded by this decoder instance.
Gets the components.
Finds the next file marker within the byte stream.
The buffer to read file markers to
The input stream
The
Decodes the image from the specified and sets the data to image.
The pixel format.
The stream, where the image should be.
The decoded image.
Reads the raw image information from the specified stream.
The containing image data.
Parses the input stream for file markers
The input stream
Whether to decode metadata only.
Returns the correct colorspace based on the image component count
The
Initializes the EXIF profile.
Initializes the ICC profile.
Assigns derived metadata properties to , eg. horizontal and vertical resolution if it has a JFIF header.
Extends the profile with additional data.
The profile data array.
The array containing addition profile data.
Processes the application header containing the JFIF identifier plus extra data.
The remaining bytes in the segment block.
Processes the App1 marker retrieving any stored metadata
The remaining bytes in the segment block.
Processes the App2 marker retrieving any stored ICC profile information
The remaining bytes in the segment block.
Processes the application header containing the Adobe identifier
which stores image encoding information for DCT filters.
The remaining bytes in the segment block.
Processes the Define Quantization Marker and tables. Specified in section B.2.4.1.
The remaining bytes in the segment block.
Processes the Start of Frame marker. Specified in section B.2.2.
The remaining bytes in the segment block.
The current frame marker.
Whether to parse metadata only
Processes a Define Huffman Table marker, and initializes a huffman
struct from its contents. Specified in section B.2.4.2.
The remaining bytes in the segment block.
Processes the DRI (Define Restart Interval Marker) Which specifies the interval between RSTn markers, in
macroblocks
The remaining bytes in the segment block.
Processes the SOS (Start of scan marker).
Builds the huffman tables
The tables
The table index
The codelengths
The values
Reads a from the stream advancing it by two bytes
The
Post processes the pixels into the destination image.
The pixel format.
The .
Encoder for writing the data image to a stream in jpeg format.
Gets or sets the quality, that will be used to encode the image. Quality
index must be between 0 and 100 (compression from max to min).
Defaults to 75.
Gets or sets the subsample ration, that will be used to encode the image.
Encodes the image to the specified stream from the .
The pixel format.
The to encode from.
The to encode the image data to.
Image encoder for writing an image to a stream as a jpeg.
The number of quantization tables.
Counts the number of bits needed to hold an integer.
The SOS (Start Of Scan) marker "\xff\xda" followed by 12 bytes:
- the marker length "\x00\x0c",
- the number of components "\x03",
- component 1 uses DC table 0 and AC table 0 "\x01\x00",
- component 2 uses DC table 1 and AC table 1 "\x02\x11",
- component 3 uses DC table 1 and AC table 1 "\x03\x11",
- the bytes "\x00\x3f\x00". Section B.2.3 of the spec says that for
sequential DCTs, those bytes (8-bit Ss, 8-bit Se, 4-bit Ah, 4-bit Al)
should be 0x00, 0x3f, 0x00<<4 | 0x00.
The unscaled quantization tables in zig-zag order. Each
encoder copies and scales the tables according to its quality parameter.
The values are derived from section K.1 after converting from natural to
zig-zag order.
A scratch buffer to reduce allocations.
A buffer for reducing the number of stream writes when emitting Huffman tables. 64 seems to be enough.
A buffer for reducing the number of stream writes when emitting Huffman tables. Max combined table lengths +
identifier.
The quality, that will be used to encode the image.
Gets or sets the subsampling method to use.
The accumulated bits to write to the stream.
The accumulated bit count.
The scaled chrominance table, in zig-zag order.
The scaled luminance table, in zig-zag order.
The output stream. All attempted writes after the first error become no-ops.
Initializes a new instance of the class.
The options
Encode writes the image to the jpeg baseline format with the given options.
The pixel format.
The image to write from.
The stream to write to.
Writes data to "Define Quantization Tables" block for QuantIndex
The "Define Quantization Tables" block
Offset in "Define Quantization Tables" block
The quantization index
The quantization table to copy data from
Initializes quantization table.
The quantization index.
The scaling factor.
The quantization table.
Emits the least significant count of bits of bits to the bit-stream.
The precondition is bits
< 1<<nBits && nBits <= 16
.
The packed bits.
The number of bits
Emits the given value with the given Huffman encoder.
The index of the Huffman encoder
The value to encode.
Emits a run of runLength copies of value encoded with the given Huffman encoder.
The index of the Huffman encoder
The number of copies to encode.
The value to encode.
Encodes the image with no subsampling.
The pixel format.
The pixel accessor providing access to the image pixels.
Writes the application header containing the JFIF identifier plus extra data.
The image meta data.
Writes a block of pixel data using the given quantization table,
returning the post-quantized DC value of the DCT-transformed block.
The block is in natural (not zig-zag) order.
The quantization table index.
The previous DC value.
Source block
Temporal block to be used as FDCT Destination
Temporal block 2
Quantization table
The 8x8 Unzig block pointer
The
Writes the Define Huffman Table marker and tables.
The number of components to write.
Writes the Define Quantization Marker and tables.
Writes the EXIF profile.
The exif profile.
Writes the App1 header.
The length of the data the app1 marker contains
Writes the ICC profile.
The ICC profile data to write.
Writes the metadata profiles to the image.
The image.
The pixel format.
Writes the Start Of Frame (Baseline) marker
The width of the image
The height of the image
The number of components in a pixel
Writes the StartOfScan marker.
The pixel format.
The pixel accessor providing access to the image pixels.
Encodes the image with subsampling. The Cb and Cr components are each subsampled
at a factor of 2 both horizontally and vertically.
The pixel format.
The pixel accessor providing access to the image pixels.
Writes the header for a marker with the given length.
The marker to write.
The marker length.
Registers the image encoders, decoders and mime type detectors for the jpeg format.
Detects Jpeg file headers
Returns a value indicating whether the given bytes identify Jfif data.
The bytes representing the file header.
The
Returns a value indicating whether the given bytes identify EXIF data.
The bytes representing the file header.
The
Returns a value indicating whether the given bytes identify Jpeg data.
This is a last chance resort for jpegs that contain ICC information.
The bytes representing the file header.
The
Enumerates the chroma subsampling method applied to the image.
High Quality - Each of the three Y'CbCr components have the same sample rate,
thus there is no chroma subsampling.
Medium Quality - The horizontal sampling is halved and the Cb and Cr channels are only
sampled on each alternate line.
Cold path optimization for throwing -s
The error message for the exception
Contains information about the pixels that make up an images visual data.
Initializes a new instance of the class.
Color depth, in number of bits per pixel.
Gets color depth, in number of bits per pixel.
Provides enumeration of available PNG filter methods.
With the None filter, the scanline is transmitted unmodified.
The Sub filter transmits the difference between each byte and the value of the corresponding
byte of the prior pixel.
The Up filter is just like the filter except that the pixel immediately above the current pixel,
rather than just to its left, is used as the predictor.
The Average filter uses the average of the two neighboring pixels (left and above) to predict the value of a pixel.
The Paeth filter computes a simple linear function of the three neighboring pixels (left, above, upper left),
then chooses as predictor the neighboring pixel closest to the computed value.
Computes the output scanline using all five filters, and selects the filter that gives the smallest sum of
absolute values of outputs.
This method usually outperforms any single fixed filter choice.
The Average filter uses the average of the two neighboring pixels (left and above) to predict
the value of a pixel.
Decodes the scanline
The scanline to decode
The previous scanline.
The bytes per pixel.
Encodes the scanline
The scanline to encode
The previous scanline.
The filtered scanline result.
The bytes per pixel.
The sum of the total variance of the filtered row
Calculates the average value of two bytes
The left byte
The above byte
The
Provides enumeration of the various PNG filter types.
With the None filter, the scanline is transmitted unmodified; it is only necessary to
insert a filter type byte before the data.
The Sub filter transmits the difference between each byte and the value of the corresponding
byte of the prior pixel.
The Up filter is just like the Sub filter except that the pixel immediately above the current
pixel, rather than just to its left, is used as the predictor.
The Average filter uses the average of the two neighboring pixels (left and above) to
predict the value of a pixel.
The Paeth filter computes a simple linear function of the three neighboring pixels (left, above, upper left),
then chooses as predictor the neighboring pixel closest to the computed value.
This technique is due to Alan W. Paeth
The None filter, the scanline is transmitted unmodified; it is only necessary to
insert a filter type byte before the data.
Encodes the scanline
The scanline to encode
The filtered scanline result.
The Paeth filter computes a simple linear function of the three neighboring pixels (left, above, upper left),
then chooses as predictor the neighboring pixel closest to the computed value.
This technique is due to Alan W. Paeth.
Decodes the scanline
The scanline to decode
The previous scanline.
The bytes per pixel.
Encodes the scanline
The scanline to encode
The previous scanline.
The filtered scanline result.
The bytes per pixel.
The sum of the total variance of the filtered row
Computes a simple linear function of the three neighboring pixels (left, above, upper left), then chooses
as predictor the neighboring pixel closest to the computed value.
The left neighbor pixel.
The above neighbor pixel.
The upper left neighbor pixel.
The .
The Sub filter transmits the difference between each byte and the value of the corresponding byte
of the prior pixel.
Decodes the scanline
The scanline to decode
The bytes per pixel.
Encodes the scanline
The scanline to encode
The filtered scanline result.
The bytes per pixel.
The sum of the total variance of the filtered row
The Up filter is just like the Sub filter except that the pixel immediately above the current pixel,
rather than just to its left, is used as the predictor.
Decodes the scanline
The scanline to decode
The previous scanline.
Encodes the scanline
The scanline to encode
The previous scanline.
The filtered scanline result.
The sum of the total variance of the filtered row
The options available for manipulating the encoder pipeline
Gets the number of bits per sample or per palette index (not per pixel).
Not all values are allowed for all values.
Gets the color type
Gets the filter method.
Gets the compression level 1-9.
Defaults to 6.
Gets the gamma value, that will be written
the the stream, when the property
is set to true. The default value is 2.2F.
The gamma value of the image.
Gets quantizer for reducing the color count.
Gets the transparency threshold.
Gets a value indicating whether this instance should write
gamma information to the stream. The default value is false.
Provides enumeration for the available PNG bit depths.
8 bits per sample or per palette index (not per pixel).
16 bits per sample or per palette index (not per pixel).
Stores header information about a chunk.
Gets the length.
An unsigned integer giving the number of bytes in the chunk's
data field. The length counts only the data field, not itself,
the chunk type code, or the CRC. Zero is a valid length
Gets the chunk type.
The value is the equal to the UInt32BigEndian encoding of its 4 ASCII characters.
Gets the data bytes appropriate to the chunk type, if any.
This field can be of zero length or null.
Gets a CRC (Cyclic Redundancy Check) calculated on the preceding bytes in the chunk,
including the chunk type code and chunk data fields, but not including the length field.
The CRC is always present, even for chunks containing no data
Gets a value indicating whether the given chunk is critical to decoding
Contains a list of chunk types.
The first chunk in a png file. Can only exists once. Contains
common information like the width and the height of the image or
the used compression method.
The PLTE chunk contains from 1 to 256 palette entries, each a three byte
series in the RGB format.
The IDAT chunk contains the actual image data. The image can contains more
than one chunk of this type. All chunks together are the whole image.
This chunk must appear last. It marks the end of the PNG data stream.
The chunk's data field is empty.
This chunk specifies that the image uses simple transparency:
either alpha values associated with palette entries (for indexed-color images)
or a single transparent color (for grayscale and true color images).
Textual information that the encoder wishes to record with the image can be stored in
tEXt chunks. Each tEXt chunk contains a keyword and a text string.
This chunk specifies the relationship between the image samples and the desired
display output intensity.
The pHYs chunk specifies the intended pixel size or aspect ratio for display of the image.
The data chunk which contains the Exif profile.
Embedded ICC profile.
Provides enumeration of available PNG color types.
Each pixel is a grayscale sample.
Each pixel is an R,G,B triple.
Each pixel is a palette index; a PLTE chunk must appear.
Each pixel is a grayscale sample, followed by an alpha sample.
Each pixel is an R,G,B triple, followed by an alpha sample.
Registers the image encoders, decoders and mime type detectors for the png format.
Defines png constants defined in the specification.
The list of mimetypes that equate to a png.
The list of file extensions that equate to a png.
The header bytes as a big endian coded ulong.
Encoder for generating an image out of a png encoded stream.
At the moment the following features are supported:
Filters: all filters are supported.
Pixel formats:
- RGBA (True color) with alpha (8 bit).
- RGB (True color) without alpha (8 bit).
- grayscale with alpha (8 bit).
- grayscale without alpha (8 bit).
- Palette Index with alpha (8 bit).
- Palette Index without alpha (8 bit).
Decodes the image from the specified stream to the .
The pixel format.
The configuration for the image.
The containing image data.
The decoded image.
Performs the png decoding operation.
The dictionary of available color types.
The amount to increment when processing each column per scanline for each interlaced pass
The index to start at when processing each column per scanline for each interlaced pass
The index to start at when processing each row per scanline for each interlaced pass
The amount to increment when processing each row per scanline for each interlaced pass
Reusable buffer for reading chunk types.
Reusable buffer for reading chunk lengths.
Reusable buffer for reading crc values.
Reusable crc for validating chunks.
The global configuration.
The stream to decode from.
The png header.
The number of bytes per pixel.
The number of bytes per sample
The number of bytes per scanline
The palette containing color information for indexed png's
The palette containing alpha channel color information for indexed png's
A value indicating whether the end chunk has been reached.
Previous scanline processed
The current scanline that is being processed
The index of the current scanline being processed
The current pass for an interlaced PNG
The current number of bytes read in the current scanline
Gets or sets the png color type
Represents any color in an 8 bit Rgb24 encoded png that should be transparent
Represents any color in a 16 bit Rgb24 encoded png that should be transparent
Represents any color in an 8 bit grayscale encoded png that should be transparent
Represents any color in a 16 bit grayscale encoded png that should be transparent
Whether the image has transparency chunk and markers were decoded
Initializes a new instance of the class.
The configuration.
Decodes the stream to the image.
The pixel format.
The stream containing image data.
Thrown if the image is larger than the maximum allowable size.
The decoded image
Reads the raw image information from the specified stream.
The containing image data.
Reads the least significant bits from the byte pair with the others set to 0.
The source buffer
THe offset
The
Attempts to convert a byte array to a new array where each value in the original array is represented by the
specified number of bits.
The bytes to convert from. Cannot be empty.
The number of bytes per scanline
The number of bits per value.
The new array.
The resulting array.
Reads the data chunk containing physical dimension data.
The metadata to read to.
The data containing physical data.
Initializes the image and various buffers needed for processing
The type the pixels will be
The metadata information for the image
The image that we will populate
Calculates the correct number of bits per pixel for the given color type.
The
Calculates the correct number of bytes per pixel for the given color type.
The
Calculates the scanline length.
The width of the row.
The representing the length.
Reads the scanlines within the image.
The pixel format.
The containing data.
The pixel data.
Decodes the raw pixel data row by row
The pixel format.
The compressed pixel data stream.
The image to decode to.
Decodes the raw interlaced pixel data row by row
The pixel format.
The compressed pixel data stream.
The current image.
Processes the de-filtered scanline filling the image pixel data
The pixel format.
The de-filtered scanline
The image
Processes the interlaced de-filtered scanline filling the image pixel data
The pixel format.
The de-filtered scanline
The current image row.
The column start index. Always 0 for none interlaced images.
The column increment. Always 1 for none interlaced images.
Decodes and assigns marker colors that identify transparent pixels in non indexed images
The alpha tRNS array
Processes a scanline that uses a palette
The type of pixel we are expanding to
The defiltered scanline
The current output image row
Reads a header chunk from the data.
The containing data.
Validates the png header.
Thrown if the image does pass validation.
Reads a chunk from the stream.
The image format chunk.
The .
Validates the png chunk.
The .
Reads the cycle redundancy chunk from the data.
Skips the chunk data and the cycle redundancy chunk read from the data.
The image format chunk.
Reads the chunk data from the stream.
The length of the chunk data to read.
Identifies the chunk type from the chunk.
Calculates the length of the given chunk.
Returns the correct number of columns for each interlaced pass.
Th current pass index
The
Image encoder for writing image data to a stream in png format.
Gets or sets the number of bits per sample or per palette index (not per pixel).
Not all values are allowed for all values.
Gets or sets the color type.
Gets or sets the filter method.
Gets or sets the compression level 1-9.
Defaults to 6.
Gets or sets the gamma value, that will be written
the the stream, when the property
is set to true. The default value is 2.2F.
The gamma value of the image.
Gets or sets quantizer for reducing the color count.
Defaults to the
Gets or sets the transparency threshold.
Gets or sets a value indicating whether this instance should write
gamma information to the stream. The default value is false.
Encodes the image to the specified stream from the .
The pixel format.
The to encode from.
The to encode the image data to.
Performs the png encoding operation.
The maximum block size, defaults at 64k for uncompressed blocks.
Reusable buffer for writing general data.
Reusable buffer for writing chunk data.
Reusable crc for validating chunks.
The png bit depth
Gets or sets a value indicating whether to use 16 bit encoding for supported color types.
The png color type.
The png filter method.
The quantizer for reducing the color count.
Gets or sets the CompressionLevel value
Gets or sets the Gamma value
Gets or sets the Threshold value
Gets or sets a value indicating whether to Write Gamma
The image width.
The image height.
The number of bits required to encode the colors in the png.
The number of bytes per pixel.
The number of bytes per scanline.
The previous scanline.
The raw scanline.
The filtered scanline result.
The buffer for the sub filter
The buffer for the up filter
The buffer for the average filter
The buffer for the Paeth filter
Initializes a new instance of the class.
The to use for buffer allocations.
The options for influencing the encoder
Encodes the image to the specified stream from the .
The pixel format.
The to encode from.
The to encode the image data to.
Collects a row of grayscale pixels.
The pixel format.
The image row span.
Collects a row of true color pixel data.
The pixel format.
The row span.
Encodes the pixel data line by line.
Each scanline is encoded in the most optimal manner to improve compression.
The pixel format.
The row span.
The span of quantized pixels. Can be null.
The row.
The
Applies all PNG filters to the given scanline and returns the filtered scanline that is deemed
to be most compressible, using lowest total variation as proxy for compressibility.
The
Calculates the correct number of bytes per pixel for the given color type.
Bytes per pixel
Writes the header chunk to the stream.
The containing image data.
The .
Writes the palette chunk to the stream.
The pixel format.
The containing image data.
The .
The quantized frame.
Writes the physical dimension information to the stream.
The pixel format.
The containing image data.
The image.
Writes the eXIf chunk to the stream, if any EXIF Profile values are present in the meta data.
The pixel format.
The containing image data.
The image.
Writes the ICC profile chunk to the stream if it is present in the meta data.
The containing image data.
The image.
Writes the gamma information to the stream.
The containing image data.
Writes the pixel information to the stream.
The pixel format.
The image.
The span of quantized pixel data. Can be null.
The stream.
Writes the chunk end to the stream.
The containing image data.
Writes a chunk to the stream.
The to write to.
The type of chunk to write.
The containing data.
Writes a chunk of a specified length to the stream at the given offset.
The to write to.
The type of chunk to write.
The containing data.
The position to offset the data at.
The of the data to write.
Registers the image encoders, decoders and mime type detectors for the png format.
Represents the png header chunk.
Gets the dimension in x-direction of the image in pixels.
Gets the dimension in y-direction of the image in pixels.
Gets the bit depth.
Bit depth is a single-byte integer giving the number of bits per sample
or per palette index (not per pixel). Valid values are 1, 2, 4, 8, and 16,
although not all values are allowed for all color types.
Gets the color type.
Color type is a integer that describes the interpretation of the
image data. Color type codes represent sums of the following values:
1 (palette used), 2 (color used), and 4 (alpha channel used).
Gets the compression method.
Indicates the method used to compress the image data. At present,
only compression method 0 (deflate/inflate compression with a sliding
window of at most 32768 bytes) is defined.
Gets the preprocessing method.
Indicates the preprocessing method applied to the image
data before compression. At present, only filter method 0
(adaptive filtering with five basic filter types) is defined.
Gets the transmission order.
Indicates the transmission order of the image data.
Two values are currently defined: 0 (no interlace) or 1 (Adam7 interlace).
Detects png file headers
Provides enumeration of available PNG interlace modes.
Non interlaced
Adam 7 interlacing.
Computes Adler32 checksum for a stream of data. An Adler32
checksum is not as reliable as a CRC32 checksum, but a lot faster to
compute.
The specification for Adler32 may be found in RFC 1950.
ZLIB Compressed Data Format Specification version 3.3)
From that document:
"ADLER32 (Adler-32 checksum)
This contains a checksum value of the uncompressed data
(excluding any dictionary data) computed according to Adler-32
algorithm. This algorithm is a 32-bit extension and improvement
of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073
standard.
Adler-32 is composed of two sums accumulated per byte: s1 is
the sum of all bytes, s2 is the sum of all s1 values. Both sums
are done modulo 65521. s1 is initialized to 1, s2 to zero. The
Adler-32 checksum is stored as s2*65536 + s1 in most-
significant-byte first (network) order."
"8.2. The Adler-32 algorithm
The Adler-32 algorithm is much faster than the CRC32 algorithm yet
still provides an extremely low probability of undetected errors.
The modulo on unsigned long accumulators can be delayed for 5552
bytes, so the modulo operation time is negligible. If the bytes
are a, b, c, the second sum is 3a + 2b + c + 3, and so is position
and order sensitive, unlike the first sum, which is just a
checksum. That 65521 is prime is important to avoid a possible
large class of two-byte errors that leave the check unchanged.
(The Fletcher checksum uses 255, which is not prime and which also
makes the Fletcher check insensitive to single byte changes 0 -
255.)
The sum s1 is initialized to 1 instead of zero to make the length
of the sequence part of s2, so that the length does not have to be
checked separately. (Any sequence of zeroes has a Fletcher
checksum of zero.)"
largest prime smaller than 65536
The checksum calculated to far.
Initializes a new instance of the class.
The checksum starts off with a value of 1.
Updates the checksum with a byte value.
The data value to add. The high byte of the int is ignored.
Generate a table for a byte-wise 32-bit CRC calculation on the polynomial:
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
Polynomials over GF(2) are represented in binary, one bit per coefficient,
with the lowest powers in the most significant bit. Then adding polynomials
is just exclusive-or, and multiplying a polynomial by x is a right shift by
one. If we call the above polynomial p, and represent a byte as the
polynomial q, also with the lowest power in the most significant bit (so the
byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
where a mod b means the remainder after dividing a by b.
This calculation is done using the shift-register method of multiplying and
taking the remainder. The register is initialized to zero, and for each
incoming bit, x^32 is added mod p to the register if the bit is a one (where
x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
x (which is shifting right by one and adding x^32 mod p if the bit shifted
out is a one). We start with the highest power (least significant bit) of
q and repeat for all eight bits of q.
The table is simply the CRC of all possible eight bit values. This is all
the information needed to generate CRC's on data a byte at a time for all
combinations of CRC register values and incoming bytes.
The cycle redundancy check seed
The table of all possible eight bit values for fast lookup.
The data checksum so far.
Updates the checksum with the given value.
The byte is taken as the lower 8 bits of value.
Interface to compute a data checksum used by checked input/output streams.
A data checksum can be updated by one byte or with a byte array. After each
update the value of the current checksum can be returned by calling
Value
. The complete checksum object can also be reset
so it can be used again with new data.
Gets the data checksum computed so far.
Resets the data checksum as if no update was ever called.
Adds one byte to the data checksum.
The data value to add. The high byte of the integer is ignored.
Updates the data checksum with the bytes taken from the span.
buffer an array of bytes
Provides methods and properties for compressing streams by using the Zlib Deflate algorithm.
The raw stream containing the uncompressed image data.
Computes the checksum for the data stream.
A value indicating whether this instance of the given entity has been disposed.
if this instance has been disposed; otherwise, .
If the entity is disposed, it must not be disposed a second
time. The isDisposed field is set the first time the entity
is disposed. If the isDisposed field is true, then the Dispose()
method will not dispose again. This help not to prolong the entity's
life in the Garbage Collector.
The stream responsible for compressing the input stream.
Initializes a new instance of the class.
The stream to compress.
The compression level.
Provides methods and properties for deframing streams from PNGs.
Used to read the Adler-32 and Crc-32 checksums
We don't actually use this for anything so it doesn't
have to be threadsafe.
The inner raw memory stream
The compressed stream sitting over the top of the deframer
A value indicating whether this instance of the given entity has been disposed.
if this instance has been disposed; otherwise, .
If the entity is disposed, it must not be disposed a second
time. The isDisposed field is set the first time the entity
is disposed. If the isDisposed field is true, then the Dispose()
method will not dispose again. This help not to prolong the entity's
life in the Garbage Collector.
Whether the crc value has been read.
The current data remaining to be read
Initializes a new instance of the class.
The inner raw stream
Gets the compressed stream over the deframed inner stream
Adds new bytes from a frame found in the original stream
blabla
Registers the image encoders, decoders and mime type detectors for the tiff format.
Registers the image encoders, decoders and mime type detectors for the tiff format.
Detects tiff file headers
Extension methods for the type.
Extension methods for the type.
Extension methods for the type.
Extension methods over Image{TPixel}
Contains internal extensions for
Saves the image to the given stream with the bmp format.
The pixel format.
The image this method extends.
The stream to save the image to.
Thrown if the stream is null.
Saves the image to the given stream with the bmp format.
The pixel format.
The image this method extends.
The stream to save the image to.
The encoder to save the image with.
Thrown if the stream is null.
Saves the image to the given stream with the jpeg format.
The pixel format.
The image this method extends.
The stream to save the image to.
Thrown if the stream is null.
Saves the image to the given stream with the jpeg format.
The pixel format.
The image this method extends.
The stream to save the image to.
The options for the encoder.
Thrown if the stream is null.
Saves the image to the given stream with the png format.
The pixel format.
The image this method extends.
The stream to save the image to.
Thrown if the stream is null.
Saves the image to the given stream with the png format.
The pixel format.
The image this method extends.
The stream to save the image to.
The options for the encoder.
Thrown if the stream is null.
Writes the image to the given stream using the currently loaded image format.
The pixel format.
The source image.
The file path to save the image to.
Thrown if the stream is null.
Writes the image to the given stream using the currently loaded image format.
The pixel format.
The source image.
The file path to save the image to.
The encoder to save the image with.
Thrown if the encoder is null.
Writes the image to the given stream using the currently loaded image format.
The Pixel format.
The source image.
The stream to save the image to.
The format to save the image in.
Thrown if the stream is null.
Returns a Base64 encoded string from the given image.
The pixel format.
The source image
The format.
The
Locks the image providing access to the pixels.
It is imperative that the accessor is correctly disposed off after use.
The type of the pixel.
The image.
The
Options for influencing the drawing functions.
Represents the default .
Initializes a new instance of the struct.
If set to true [enable antialiasing].
Gets or sets a value indicating whether antialiasing should be applied.
Gets or sets a value indicating the number of subpixels to use while rendering with antialiasing enabled.
Gets or sets a value indicating the blending percentage to apply to the drawing operation
Gets or sets a value indicating the blending mode to apply to the drawing operation
Lifted from coreFX repo
Combines the two specified hash codes.
Hash code one
Hash code two
Returns a hash code for the two specified has codes.
Provides single-precision floating point constants and static methods for trigonometric, logarithmic, and other common mathematical functions.
MathF emulation on platforms that don't support it natively.
Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π.
Returns the absolute value of a single-precision floating-point number.
A number that is greater than or equal to , but less than or equal to .
A single-precision floating-point number, x, such that 0 ≤ x ≤.
Returns the angle whose tangent is the quotient of two specified numbers.
The y coordinate of a point.
The x coordinate of a point.
An angle, θ, measured in radians, such that -π≤θ≤π, and tan(θ) = y / x, where
(x, y) is a point in the Cartesian plane. Observe the following: For (x, y) in
quadrant 1, 0 < θ < π/2.For (x, y) in quadrant 2, π/2 < θ≤π.For (x, y) in quadrant
3, -π < θ < -π/2.For (x, y) in quadrant 4, -π/2 < θ < 0.For points on the boundaries
of the quadrants, the return value is the following:If y is 0 and x is not negative,
θ = 0.If y is 0 and x is negative, θ = π.If y is positive and x is 0, θ = π/2.If
y is negative and x is 0, θ = -π/2.If y is 0 and x is 0, θ = 0. If x or y is
, or if x and y are either or
, the method returns .
Returns the smallest integral value that is greater than or equal to the specified single-precision floating-point number.
A single-precision floating-point number.
The smallest integral value that is greater than or equal to .
If is equal to , ,
or , that value is returned.
Note that this method returns a instead of an integral type.
Returns the cosine of the specified angle.
An angle, measured in radians.
The cosine of . If is equal to , ,
or , this method returns .
Returns e raised to the specified power.
A number specifying a power.
The number e raised to the power .
If equals or , that value is returned.
If equals , 0 is returned.
Returns the largest integer less than or equal to the specified single-precision floating-point number.
A single-precision floating-point number.
The largest integer less than or equal to .
If is equal to , ,
or , that value is returned.
Returns the larger of two single-precision floating-point numbers.
The first of two single-precision floating-point numbers to compare.
The second of two single-precision floating-point numbers to compare.
Parameter or , whichever is larger.
If , or , or both and are
equal to , is returned.
Returns the smaller of two single-precision floating-point numbers.
The first of two single-precision floating-point numbers to compare.
The second of two single-precision floating-point numbers to compare.
Parameter or , whichever is smaller.
If , , or both and are equal
to , is returned.
Returns a specified number raised to the specified power.
A single-precision floating-point number to be raised to a power.
A single-precision floating-point number that specifies a power.
The number raised to the power .
Rounds a single-precision floating-point value to the nearest integral value.
A single-precision floating-point number to be rounded.
The integer nearest .
If the fractional component of is halfway between two integers, one of which is even and the other odd, then the even number is returned.
Note that this method returns a instead of an integral type.
Rounds a single-precision floating-point value to the nearest integer.
A parameter specifies how to round the value if it is midway between two numbers.
A single-precision floating-point number to be rounded.
Specification for how to round if it is midway between two other numbers.
The integer nearest . If is halfway between two integers, one of which is even
and the other odd, then determines which of the two is returned.
Note that this method returns a instead of an integral type.
is not a valid value of .
Returns the sine of the specified angle.
An angle, measured in radians.
The sine of .
If is equal to , ,
or , this method returns .
Returns the square root of a specified number.
The number whose square root is to be found.
One of the values in the following table.
parameter Return value Zero or positive The positive square root of .
Negative Equals
Equals
Provides common mathematical methods.
Converts a degree (360-periodic) angle to a radian (2*Pi-periodic) angle.
The angle in degrees.
The representing the degree as radians.
Converts a radian (2*Pi-periodic) angle to a degree (360-periodic) angle.
The angle in radians.
The representing the degree as radians.
Represents an interface that can register image encoders, decoders and image format detectors.
Called when loaded into a configuration object so the module can register items into the configuration.
The configuration that will retain the encoders, decodes and mime type detectors.
Encapsulates the properties and methods that describe an image.
Encapsulates properties that descibe basic image information including dimensions, pixel type information
and additional metadata
Gets information about the image pixels.
Gets the width.
Gets the height.
Gets the metadata of the image.
Adds static methods allowing the decoding of new images.
Adds static methods allowing the creation of new image from a byte array.
Adds static methods allowing the creation of new image from a given file.
Adds static methods allowing the creation of new image from a given stream.
Adds static methods allowing the creation of new image from raw pixel data.
Adds static methods allowing wrapping an existing memory area as an image.
By reading the header on the provided stream this calculates the images format.
The image stream to read the header from.
The configuration.
The mime type or null if none found.
By reading the header on the provided stream this calculates the images format.
The image stream to read the header from.
The configuration.
The IImageFormat.
The image format or null if none found.
Decodes the image stream to the current image.
The stream.
the configuration.
The pixel format.
A new .
Reads the raw image information from the specified stream.
The stream.
the configuration.
The or null if suitable info detector not found.
By reading the header on the provided byte array this calculates the images format.
The byte array containing encoded image data to read the header from.
The format or null if none found.
By reading the header on the provided byte array this calculates the images format.
The configuration.
The byte array containing encoded image data to read the header from.
The mime type or null if none found.
Load a new instance of from the given encoded byte array.
The byte array containing image data.
A new .
Load a new instance of from the given encoded byte array.
The byte array containing encoded image data.
The mime type of the decoded image.
A new .
Load a new instance of from the given encoded byte array.
The config for the decoder.
The byte array containing encoded image data.
A new .
Load a new instance of from the given encoded byte array.
The config for the decoder.
The byte array containing image data.
The mime type of the decoded image.
A new .
Load a new instance of from the given encoded byte array.
The byte array containing encoded image data.
The decoder.
A new .
Load a new instance of from the given encoded byte array.
The config for the decoder.
The byte array containing image data.
The decoder.
A new .
Load a new instance of from the given encoded byte array.
The byte array containing encoded image data.
The pixel format.
A new .
Load a new instance of from the given encoded byte array.
The byte array containing image data.
The mime type of the decoded image.
The pixel format.
A new .
Load a new instance of from the given encoded byte array.
The configuration options.
The byte array containing encoded image data.
The pixel format.
A new .
Load a new instance of from the given encoded byte array.
The configuration options.
The byte array containing encoded image data.
The of the decoded image.
The pixel format.
A new .
Load a new instance of from the given encoded byte array.
The byte array containing encoded image data.
The decoder.
The pixel format.
A new .
Load a new instance of from the given encoded byte array.
The Configuration.
The byte array containing encoded image data.
The decoder.
The pixel format.
A new .
By reading the header on the provided byte array this calculates the images format.
The byte array containing encoded image data to read the header from.
The format or null if none found.
By reading the header on the provided byte array this calculates the images format.
The configuration.
The byte array containing encoded image data to read the header from.
The mime type or null if none found.
Load a new instance of from the given encoded byte span.
The byte span containing image data.
A new .
Load a new instance of from the given encoded byte span.
The config for the decoder.
The byte span containing encoded image data.
A new .
Load a new instance of from the given encoded byte span.
The byte span containing encoded image data.
The pixel format.
A new .
Load a new instance of from the given encoded byte span.
The configuration options.
The byte span containing encoded image data.
The pixel format.
A new .
Load a new instance of from the given encoded byte span.
The Configuration.
The byte span containing image data.
The decoder.
The pixel format.
A new .
Load a new instance of from the given encoded byte span.
The configuration options.
The byte span containing image data.
The of the decoded image.
The pixel format.
A new .
By reading the header on the provided file this calculates the images mime type.
The image file to open and to read the header from.
The mime type or null if none found.
By reading the header on the provided file this calculates the images mime type.
The configuration.
The image file to open and to read the header from.
The mime type or null if none found.
Create a new instance of the class from the given file.
The file path to the image.
Thrown if the stream is not readable nor seekable.
A new .
Create a new instance of the class from the given file.
The file path to the image.
The mime type of the decoded image.
Thrown if the stream is not readable nor seekable.
A new .
Create a new instance of the class from the given file.
The config for the decoder.
The file path to the image.
Thrown if the stream is not readable nor seekable.
A new .
Create a new instance of the class from the given file.
The config for the decoder.
The file path to the image.
The mime type of the decoded image.
Thrown if the stream is not readable nor seekable.
A new .
Create a new instance of the class from the given file.
The Configuration.
The file path to the image.
The decoder.
Thrown if the stream is not readable nor seekable.
A new .
Create a new instance of the class from the given file.
The file path to the image.
The decoder.
Thrown if the stream is not readable nor seekable.
A new .
Create a new instance of the class from the given file.
The file path to the image.
Thrown if the stream is not readable nor seekable.
The pixel format.
A new .
Create a new instance of the class from the given file.
The file path to the image.
The mime type of the decoded image.
Thrown if the stream is not readable nor seekable.
The pixel format.
A new .
Create a new instance of the class from the given file.
The configuration options.
The file path to the image.
Thrown if the stream is not readable nor seekable.
The pixel format.
A new .
Create a new instance of the class from the given file.
The configuration options.
The file path to the image.
The mime type of the decoded image.
Thrown if the stream is not readable nor seekable.
The pixel format.
A new .
Create a new instance of the class from the given file.
The file path to the image.
The decoder.
Thrown if the stream is not readable nor seekable.
The pixel format.
A new .
Create a new instance of the class from the given file.
The Configuration.
The file path to the image.
The decoder.
Thrown if the stream is not readable nor seekable.
The pixel format.
A new .
By reading the header on the provided stream this calculates the images mime type.
The image stream to read the header from.
Thrown if the stream is not readable.
The mime type or null if none found.
By reading the header on the provided stream this calculates the images mime type.
The configuration.
The image stream to read the header from.
Thrown if the stream is not readable.
The mime type or null if none found.
By reading the header on the provided stream this reads the raw image information.
The image stream to read the header from.
Thrown if the stream is not readable.
The or null if suitable info detector not found.
Reads the raw image information from the specified stream without fully decoding it.
The configuration.
The image stream to read the information from.
Thrown if the stream is not readable.
The or null if suitable info detector is not found.
Create a new instance of the class from the given stream.
The stream containing image information.
the mime type of the decoded image.
Thrown if the stream is not readable.
A new .>
Create a new instance of the class from the given stream.
The stream containing image information.
Thrown if the stream is not readable.
A new .>
Create a new instance of the class from the given stream.
The stream containing image information.
The decoder.
Thrown if the stream is not readable.
A new .>
Create a new instance of the class from the given stream.
The config for the decoder.
The stream containing image information.
Thrown if the stream is not readable.
A new .>
Create a new instance of the class from the given stream.
The config for the decoder.
The stream containing image information.
the mime type of the decoded image.
Thrown if the stream is not readable.
A new .>
Create a new instance of the class from the given stream.
The stream containing image information.
Thrown if the stream is not readable.
The pixel format.
A new .>
Create a new instance of the class from the given stream.
The stream containing image information.
the mime type of the decoded image.
Thrown if the stream is not readable.
The pixel format.
A new .>
Create a new instance of the class from the given stream.
The stream containing image information.
The decoder.
Thrown if the stream is not readable.
The pixel format.
A new .>
Create a new instance of the class from the given stream.
The Configuration.
The stream containing image information.
The decoder.
Thrown if the stream is not readable.
The pixel format.
A new .>
Create a new instance of the class from the given stream.
The configuration options.
The stream containing image information.
Thrown if the stream is not readable.
The pixel format.
A new .>
Create a new instance of the class from the given stream.
The configuration options.
The stream containing image information.
the mime type of the decoded image.
Thrown if the stream is not readable.
The pixel format.
A new .>
Create a new instance of the class from the raw data.
The byte array containing image data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Create a new instance of the class from the raw data.
The byte array containing image data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Create a new instance of the class from the given byte array in format.
The byte array containing image data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Create a new instance of the class from the given byte array in format.
The byte array containing image data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Create a new instance of the class from the given byte array in format.
The config for the decoder.
The byte array containing image data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Create a new instance of the class from the given byte array in format.
The config for the decoder.
The byte array containing image data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Create a new instance of the class from the raw data.
The config for the decoder.
The Span containing the image Pixel data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Create a new instance of the class from the raw data.
The config for the decoder.
The Span containing the image Pixel data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Wraps an existing contigous memory area of 'width'x'height' pixels,
allowing to view/manipulate it as an ImageSharp instance.
The pixel type
The
The pixel memory
The width of the memory image
The height of the memory image
The
An instance
Wraps an existing contigous memory area of 'width'x'height' pixels,
allowing to view/manipulate it as an ImageSharp instance.
The pixel type
The
The pixel memory
The width of the memory image
The height of the memory image
An instance
Wraps an existing contigous memory area of 'width'x'height' pixels,
allowing to view/manipulate it as an ImageSharp instance.
The memory is being observed, the caller remains responsible for managing it's lifecycle.
The pixel type
The pixel memory
The width of the memory image
The height of the memory image
An instance
Wraps an existing contigous memory area of 'width'x'height' pixels,
allowing to view/manipulate it as an ImageSharp instance.
The ownership of the is being transfered to the new instance,
meaning that the caller is not allowed to dispose .
It will be disposed together with the result image.
The pixel type
The
The that is being transfered to the image
The width of the memory image
The height of the memory image
The
An instance
Wraps an existing contigous memory area of 'width'x'height' pixels,
allowing to view/manipulate it as an ImageSharp instance.
The ownership of the is being transfered to the new instance,
meaning that the caller is not allowed to dispose .
It will be disposed together with the result image.
The pixel type
The
The that is being transfered to the image
The width of the memory image
The height of the memory image
An instance
Wraps an existing contigous memory area of 'width'x'height' pixels,
allowing to view/manipulate it as an ImageSharp instance.
The ownership of the is being transfered to the new instance,
meaning that the caller is not allowed to dispose .
It will be disposed together with the result image.
The pixel type
The that is being transfered to the image
The width of the memory image
The height of the memory image
An instance
The static collection of all the default image formats
The format details for the jpegs.
The format details for the pngs.
The format details for the gifs.
The format details for the bitmaps.
The format details for the tiffs.
Adds static methods allowing the creation of new image from raw pixel data.
Create a new instance of the class from the given byte array in format.
The configuration which allows altering default behaviour or extending the library.
The byte array containing image data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Create a new instance of the class from the raw data.
The configuration which allows altering default behaviour or extending the library.
The Span containing the image Pixel data.
The width of the final image.
The height of the final image.
The pixel format.
A new .
Encapsulates a collection of instances that make up an .
The type of the pixel.
Gets the number of frames.
Gets the root frame.
Gets the at the specified index.
The .
The index.
The at the specified index.
Determines the index of a specific in the .
The to locate in the .
The index of item if found in the list; otherwise, -1.
Clones and inserts the into the at the specified .
The zero-based index to insert the frame at.
The to clone and insert into the .
Frame must have the same dimensions as the image.
The cloned .
Clones the frame and appends the clone to the end of the collection.
The raw pixel data to generate the from.
The cloned .
Creates a new frame from the pixel data with the same dimensions as the other frames and inserts the
new frame at the end of the collection.
The raw pixel data to generate the from.
The new .
Removes the frame at the specified index and frees all freeable resources associated with it.
The zero-based index of the frame to remove.
Cannot remove last frame.
Determines whether the contains the .
The frame.
true if the contains the specified frame; otherwise, false.
Moves an from to .
The zero-based index of the frame to move.
The index to move the frame to.
Removes the frame at the specified index and creates a new image with only the removed frame
with the same metadata as the original image.
The zero-based index of the frame to export.
Cannot remove last frame.
The new with the specified frame.
Creates an with only the frame at the specified index
with the same metadata as the original image.
The zero-based index of the frame to clone.
The new with the specified frame.
Creates a new and appends it to the end of the collection.
The new .
Creates a new and appends it to the end of the collection.
The background color to initialize the pixels with.
The new .
Represents a single frame in a animation.
The pixel format.
Initializes a new instance of the class.
The configuration which allows altering default behaviour or extending the library.
The of the frame.
Initializes a new instance of the class.
The configuration which allows altering default behaviour or extending the library.
The width of the image in pixels.
The height of the image in pixels.
Initializes a new instance of the class.
The configuration which allows altering default behaviour or extending the library.
The width of the image in pixels.
The height of the image in pixels.
The color to clear the image with.
Initializes a new instance of the class wrapping an existing buffer.
Initializes a new instance of the class.
The configuration which allows altering default behaviour or extending the library.
The source.
Gets the to use for buffer allocations.
Gets the image pixels. Not private as Buffer2D requires an array in its constructor.
Gets the width.
Gets the height.
Gets or sets the pixel at the specified position.
The x-coordinate of the pixel. Must be greater than or equal to zero and less than the width of the image.
The y-coordinate of the pixel. Must be greater than or equal to zero and less than the height of the image.
The at the specified position.
Gets the size of the frame.
The
Gets the bounds of the frame.
The
Gets a reference to the pixel at the specified position.
The x-coordinate of the pixel. Must be greater than or equal to zero and less than the width of the image.
The y-coordinate of the pixel. Must be greater than or equal to zero and less than the height of the image.
The at the specified position.
Copies the pixels to a of the same size.
The target pixel buffer accessor.
Switches the buffers used by the image and the pixelSource meaning that the Image will "own" the buffer from the pixelSource and the pixelSource will now own the Images buffer.
The pixel source.
Disposes the object and frees resources for the Garbage Collector.
Returns a copy of the image frame in the given pixel format.
The pixel format.
The
Clears the bitmap.
The parallel options.
The value to initialize the bitmap with.
Clones the current instance.
The
Contains information about the image including dimensions, pixel type information and additional metadata
Initializes a new instance of the class.
The image pixel type information.
The width of the image in pixels.
The height of the image in pixels.
The images metadata.
Extension methods that allow the addition of geometry calculating methods to the type
Gets the bounds of the image.
The image info
The
Gets the bounds of the image.
The image info
The
Encapsulates an image, which consists of the pixel data for a graphics image and its attributes.
The pixel format.
Initializes a new instance of the class
with the height and the width of the image.
The configuration providing initialization code which allows extending the library.
The width of the image in pixels.
The height of the image in pixels.
Initializes a new instance of the class
with the height and the width of the image.
The configuration providing initialization code which allows extending the library.
The width of the image in pixels.
The height of the image in pixels.
The color to initialize the pixels with.
Initializes a new instance of the class
with the height and the width of the image.
The width of the image in pixels.
The height of the image in pixels.
Initializes a new instance of the class
with the height and the width of the image.
The configuration providing initialization code which allows extending the library.
The width of the image in pixels.
The height of the image in pixels.
The images metadata.
Initializes a new instance of the class
wrapping an external
Initializes a new instance of the class
with the height and the width of the image.
The configuration providing initialization code which allows extending the library.
The width of the image in pixels.
The height of the image in pixels.
The color to initialize the pixels with.
The images metadata.
Initializes a new instance of the class
with the height and the width of the image.
The configuration providing initialization code which allows extending the library.
The images metadata.
The frames that will be owned by this image instance.
Gets the pixel buffer.
Gets the frames.
Gets the root frame.
Gets or sets the pixel at the specified position.
The x-coordinate of the pixel. Must be greater than or equal to zero and less than the width of the image.
The y-coordinate of the pixel. Must be greater than or equal to zero and less than the height of the image.
The at the specified position.
Saves the image to the given stream using the given image encoder.
The stream to save the image to.
The encoder to save the image with.
Thrown if the stream or encoder is null.
Clones the current image
Returns a new image with all the same metadata as the original.
Returns a copy of the image in the given pixel format.
The pixel format.
The
Releases managed resources.
Switches the buffers used by the image and the pixelSource meaning that the Image will "own" the buffer from the pixelSource and the pixelSource will now own the Images buffer.
The pixel source.
A stream reader that add a secondary level buffer in addition to native stream buffered reading
to reduce the overhead of small incremental reads.
The length, in bytes, of the buffering chunk
Initializes a new instance of the class.
The to use for buffer allocations.
The input stream.
Gets the length, in bytes, of the stream
Gets or sets the current position within the stream
Reads a byte from the stream and advances the position within the stream by one
byte, or returns -1 if at the end of the stream.
The unsigned byte cast to an , or -1 if at the end of the stream.
Skips the number of bytes in the stream
The number of bytes to skip
Reads a sequence of bytes from the current stream and advances the position within the stream
by the number of bytes read.
An array of bytes. When this method returns, the buffer contains the specified
byte array with the values between offset and (offset + count - 1) replaced by
the bytes read from the current source.
The zero-based byte offset in buffer at which to begin storing the data read
from the current stream.
The maximum number of bytes to be read from the current stream.
The total number of bytes read into the buffer. This can be less than the number
of bytes requested if that many bytes are not currently available, or zero (0)
if the end of the stream has been reached.
Endianness of a converter
Little endian - least significant byte first
Big endian - most significant byte first
A simple interface representing the filesystem.
Returns a readable stream as defined by the path.
Path to the file to open.
A stream representing the file to open.
Creates or opens a file and returns it as a writeable stream as defined by the path.
Path to the file to open.
A stream representing the file to open.
A wrapper around the local File apis.
Options for allocating buffers.
Indicates that the buffer should just be allocated.
Indicates that the allocated buffer should be cleaned following allocation.
Contains and
Contains common factory methods and configuration constants.
Implements by allocating memory from .
The buffer implementation of .
The length of the buffer
A weak reference to the source pool.
By using a weak reference here, we are making sure that array pools and their retained arrays are always GC-ed
after a call to , regardless of having buffer instances still being in use.
Gets the buffer as a byte array.
The implementation of .
The default value for: maximum size of pooled arrays in bytes.
Currently set to 24MB, which is equivalent to 8 megapixels of raw RGBA32 data.
The value for: The threshold to pool arrays in which has less buckets for memory safety.
The default bucket count for .
The default bucket count for .
This is the default. Should be good for most use cases.
The memory manager
For environments with limited memory capabilities. Only small images are pooled, which can result in reduced througput.
The memory manager
Only pool small buffers like image rows.
The memory manager
RAM is not an issue for me, gimme maximum througput!
The memory manager
The for small-to-medium buffers which is not kept clean.
The for huge buffers, which is not kept clean.
Initializes a new instance of the class.
Initializes a new instance of the class.
The maximum size of pooled arrays. Arrays over the thershold are gonna be always allocated.
Initializes a new instance of the class.
The maximum size of pooled arrays. Arrays over the thershold are gonna be always allocated.
Arrays over this threshold will be pooled in which has less buckets for memory safety.
Initializes a new instance of the class.
The maximum size of pooled arrays. Arrays over the thershold are gonna be always allocated.
The threshold to pool arrays in which has less buckets for memory safety.
Max arrays per bucket for the large array pool
Max arrays per bucket for the normal array pool
Gets the maximum size of pooled arrays in bytes.
Gets the threshold to pool arrays in which has less buckets for memory safety.
Defines extension methods for .
Gets a to the backing buffer of .
Gets a to the row 'y' beginning from the pixel at 'x'.
The buffer
The x coordinate (position in the row)
The y (row) coordinate
The element type
The
Gets a to the row 'y' beginning from the pixel at the first pixel on that row.
The buffer
The y (row) coordinate
The element type
The
Gets a to the row 'y' beginning from the pixel at the first pixel on that row.
The buffer
The y (row) coordinate
The element type
The
Returns the size of the buffer.
The element type
The
The of the buffer
Returns a representing the full area of the buffer.
The element type
The
The
Return a to the subarea represented by 'rectangle'
The element type
The
The rectangle subarea
The
Return a to the whole area of 'buffer'
The element type
The
The
Represents a buffer of value type objects
interpreted as a 2D region of x elements.
The value type.
Initializes a new instance of the class.
The buffer to wrap
The number of elements in a row
The number of rows
Gets the width.
Gets the height.
Gets the backing
Gets a reference to the element at the specified position.
The x coordinate (row)
The y coordinate (position at row)
A reference to the element.
Disposes the instance
Swaps the contents of 'destination' with 'source' if the buffers are owned (1),
copies the contents of 'source' to 'destination' otherwise (2). Buffers should be of same size in case 2!
Represents a rectangular area inside a 2D memory buffer ().
This type is kind-of 2D Span, but it can live on heap.
The element type
The rectangle specifying the boundaries of the area in .
Gets the being pointed by this instance.
Gets the size of the area.
Gets the width
Gets the height
Gets the pixel stride which is equal to the width of .
Gets a value indicating whether the area refers to the entire
Gets or sets a value at the given index.
The position inside a row
The row index
The reference to the value
Gets a reference to the [0,0] element.
The reference to the [0,0] element
Gets a span to row 'y' inside this area.
The row index
The span
Returns a sub-area as . (Similar to .)
The x index at the subarea origo
The y index at the subarea origo
The desired width of the subarea
The desired height of the subarea
The subarea
Returns a sub-area as . (Similar to .)
The specifying the boundaries of the subarea
The subarea
Represents a byte buffer backed by a managed array. Useful for interop with classic .NET API-s.
Gets the managed array backing this buffer instance.
Wraps an array as an instance.
Initializes a new instance of the class
The array
The length of the buffer
Initializes a new instance of the class
The array
Gets the array
Gets the length
Provides an based on .
Initializes a new instance of the class
The byte array
Provides a base class for implementations by implementing pinning logic for adaption.
The element type
Gets the object that should be pinned.
The pinnable
Memory managers are used to allocate memory for image processing operations.
Allocates an , holding a of length .
Type of the data stored in the buffer
Size of the buffer to allocate
The allocation options.
A buffer of values of type .
Allocates an .
The requested buffer length
The allocation options.
The
Releases all retained resources not being in use.
Eg: by resetting array pools and letting GC to free the arrays.
Extension methods for .
Allocates padded buffers for BMP encoder/decoder. (Replacing old PixelRow/PixelArea)
The
Pixel count in the row
The pixel size in bytes, eg. 3 for RGB
The padding
A
Extension methods for
Gets a to an offseted position inside the buffer.
The buffer
The start
The
Gets a to an offsetted position inside the buffer.
The buffer
The start
The length of the slice
The
Clears the contents of this buffer.
The buffer
Holds a that is either OWNED or CONSUMED.
When the memory is being owned, the instance is also known.
Implements content transfer logic in that depends on the ownership status.
This is needed to transfer the contents of a temporary
to a persistent without copying the buffer.
For a deeper understanding of the owner/consumer model, check out the following docs:
https://gist.github.com/GrabYourPitchforks/4c3e1935fd4d9fa2831dbfcab35dffc6
https://www.codemag.com/Article/1807051/Introducing-.NET-Core-2.1-Flagship-Types-Span-T-and-Memory-T
Initializes a new instance of the struct
by wrapping an existing .
The to wrap
A value indicating whether is an internal memory source managed by ImageSharp.
Eg. allocated by a .
Gets a value indicating whether we are allowed to swap the contents of this buffer
with an other instance.
The value is true only and only if is present,
and it's coming from an internal source managed by ImageSharp ().
Swaps the contents of 'destination' with 'source' if the buffers are owned (1),
copies the contents of 'source' to 'destination' otherwise (2). Buffers should be of same size in case 2!
Implements by newing up arrays by the GC on every allocation requests.
Encapsulates the metadata of an image.
The default horizontal resolution value (dots per inch) in x direction.
The default value is 96 .
The default vertical resolution value (dots per inch) in y direction.
The default value is 96 .
Initializes a new instance of the class.
Initializes a new instance of the class
by making a copy from other metadata.
The other to create this instance from.
Gets or sets the resolution of the image in x- direction.
It is defined as the number of dots per inch and should be an positive value.
The density of the image in x- direction.
Gets or sets the resolution of the image in y- direction.
It is defined as the number of dots per inch and should be an positive value.
The density of the image in y- direction.
Gets or sets unit of measure used when reporting resolution.
00 : No units; width:height pixel aspect ratio = Ydensity:Xdensity
01 : Pixels per inch (2.54 cm)
02 : Pixels per centimeter
03 : Pixels per meter
Gets or sets the raw ICC profile.
Clones this into a new instance
The cloned metadata instance
Synchronizes the profiles with the current meta data.
Provides enumeration of available pixel density units.
No units; width:height pixel aspect ratio.
Pixels per inch (2.54 cm).
Pixels per centimeter.
Pixels per meter (100 cm).
Represents a component block
Gets or sets the output
Gets or sets the scaling factors
Gets or sets the number of blocks per line
Gets or sets the number of blocks per column
Contains all the decoded component blocks
Gets or sets the component blocks
Represents a jpeg file marker
Initializes a new instance of the struct.
The marker
The position within the stream
Initializes a new instance of the struct.
The marker
The position within the stream
Whether the current marker is invalid
Gets a value indicating whether the current marker is invalid
Gets the position of the marker within a stream
Gets the position of the marker within a stream
Represent a single jpeg frame
Gets or sets a value indicating whether the frame uses the extended specification
Gets or sets a value indicating whether the frame uses the progressive specification
Gets or sets the precision
Gets or sets the number of scanlines within the frame
Gets or sets the number of samples per scanline
Gets or sets the number of components within a frame. In progressive frames this value can range from only 1 to 4
Gets or sets the component id collection
Gets or sets the frame component collection
Gets or sets the maximum horizontal sampling factor
Gets or sets the maximum vertical sampling factor
Gets or sets the number of MCU's per line
Gets or sets the number of MCU's per column
Allocates the frame component blocks
Represents a single frame component
Gets the component Id
Gets or sets Pred TODO: What does pred stand for?
Gets the horizontal sampling factor.
Gets the vertical sampling factor.
Gets the block data
Gets the number of blocks per line
Gets the number of blocks per column
Gets or sets the index for the DC Huffman table
Gets or sets the index for the AC Huffman table
Represents a Huffman Table
Initializes a new instance of the struct.
The to use for buffer allocations.
The code lengths
The huffman values
Gets the max code array
Gets the value offset array
Gets the huffman value array
Gets the lookahead array
Figure C.1: make table of Huffman code length for each symbol
The code lengths
The huffman size span
Figure C.2: generate the codes themselves
The huffman size span
The huffman code span
Figure F.15: generate decoding tables for bit-sequential decoding
The code lengths
The huffman code span
The value offset span
The max code span
Generates lookup tables to speed up decoding
The code lengths
The huffman value array
The lookahead span
Defines a pair of huffman tables
Gets or sets the table at the given index.
The index
The
Performs the inverse Descrete Cosine Transform on each frame component.
Precomputed values scaled up by 14 bits
A port of Poppler's IDCT method which in turn is taken from:
Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz,
'Practical Fast 1-D DCT Algorithms with 11 Multiplications',
IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989, 988-991.
The fram component
The block buffer offset
The computational buffer for holding temp values
The quantization table
A port of
A 2-D IDCT can be done by 1-D IDCT on each column followed by 1-D IDCT
on each row(or vice versa, but it's more convenient to emit a row at
a time). Direct algorithms are also available, but they are much more
complex and seem not to be any faster when reduced to code.
This implementation is based on Arai, Agui, and Nakajima's algorithm for
scaled DCT.Their original paper (Trans.IEICE E-71(11):1095) is in
Japanese, but the algorithm is described in the Pennebaker & Mitchell
JPEG textbook(see REFERENCES section in file README.ijg). The following
code is based directly on figure 4-8 in P&M.
While an 8-point DCT cannot be done in less than 11 multiplies, it is
possible to arrange the computation so that many of the multiplies are
simple scalings of the final outputs.These multiplies can then be
folded into the multiplications or divisions by the JPEG quantization
table entries. The AA&N method leaves only 5 multiplies and 29 adds
to be done in the DCT itself.
The primary disadvantage of this method is that with fixed-point math,
accuracy is lost due to imprecise representation of the scaled
quantization values.The smaller the quantization table entry, the less
precise the scaled value, so this implementation does worse with high -
quality - setting files than with low - quality ones.
The frame component
The block buffer offset
The computational buffer for holding temp values
The multiplier table
Descale and correctly round an int value that's scaled by bits.
We assume rounds towards minus infinity, so adding
the fudge factor is correct for either sign of .
The value
The number of bits
The
Multiply a variable by an int constant, and immediately descale.
The value
The multiplier
The
Right-shifts the value by the given amount
The value
The amount to shift by
The
Represents a section of the jpeg component data laid out in pixel order.
Initializes a new instance of the struct.
The to use for buffer allocations.
The image width
The image height
The number of components
Gets the number of components
Gets the width
Gets the height
Organsizes the decoded jpeg components into a linear array ordered by component.
This must be called before attempting to retrieve the data.
The jpeg component blocks
The pixel area width
The pixel area height
Gets a representing the row 'y' beginning from the the first byte on that row.
The y-coordinate of the pixel row. Must be greater than or equal to zero and less than the height of the pixel area.
The
Checks the coordinates to ensure they are within bounds.
The y-coordinate of the row. Must be greater than zero and less than the height of the area.
Thrown if the coordinates are not within the bounds of the image.
Contains the quantization tables.
Gets the ZigZag scan table
Gets or sets the quantization tables.
Provides the means to decode a spectral scan
Decodes the spectral scan
The image frame
The input stream
The DC Huffman tables
The AC Huffman tables
The scan components
The component index within the array
The length of the components. Different to the array length
The reset interval
The spectral selection start
The spectral selection end
The successive approximation bit high end
The successive approximation bit low end
Provides 8-bit lookup tables for converting from YCbCr to Rgb colorspace.
Methods to build the tables are based on libjpeg implementation.
The red red-chrominance table
The blue blue-chrominance table
The green red-chrominance table
The green blue-chrominance table
Initializes the YCbCr tables
Optimized method to pack bytes to the image from the YCbCr color space.
The pixel format.
The packed pixel.
The y luminance component.
The cb chroma component.
The cr chroma component.
Optimized method to pack bytes to the image from the YccK color space.
The pixel format.
The packed pixel.
The y luminance component.
The cb chroma component.
The cr chroma component.
The keyline component.
Contains jpeg constant values
Contains marker specific constants
The prefix used for all markers.
The Start of Image marker
The End of Image marker
Application specific marker for marking the jpeg format.
Application specific marker for marking where to store metadata.
Application specific marker for marking where to store ICC profile information.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker.
Application specific marker used by Adobe for storing encoding information for DCT filters.
Application specific marker used by GraphicConverter to store JPEG quality.
The text comment marker
Define Quantization Table(s) marker
Specifies one or more quantization tables.
Start of Frame (baseline DCT)
Indicates that this is a baseline DCT-based JPEG, and specifies the width, height, number of components,
and component subsampling (e.g., 4:2:0).
Start Of Frame (Extended Sequential DCT)
Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components,
and component subsampling (e.g., 4:2:0).
Start Of Frame (progressive DCT)
Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components,
and component subsampling (e.g., 4:2:0).
Define Huffman Table(s)
Specifies one or more Huffman tables.
Define Restart Interval
Specifies the interval between RSTn markers, in macroblocks.This marker is followed by two bytes indicating the fixed size so it can be treated like any other variable size segment.
Start of Scan
Begins a top-to-bottom scan of the image. In baseline DCT JPEG images, there is generally a single scan.
Progressive DCT JPEG images usually contain multiple scans. This marker specifies which slice of data it
will contain, and is immediately followed by entropy-coded data.
Define First Restart
Inserted every r macroblocks, where r is the restart interval set by a DRI marker.
Not used if there was no DRI marker. The low three bits of the marker code cycle in value from 0 to 7.
Define Eigth Restart
Inserted every r macroblocks, where r is the restart interval set by a DRI marker.
Not used if there was no DRI marker. The low three bits of the marker code cycle in value from 0 to 7.
Contains JFIF specific markers
Represents J in ASCII
Represents F in ASCII
Represents I in ASCII
Represents the null "0" marker
Contains Adobe specific markers
Represents A in ASCII
Represents d in ASCII
Represents b in ASCII
Represents b in ASCII
Represents e in ASCII
The color transform is unknown.(RGB or CMYK)
The color transform is YCbCr (luminance, red chroma, blue chroma)
The color transform is YCCK (luminance, red chroma, blue chroma, keyline)
Contains EXIF specific markers
Represents E in ASCII
Represents x in ASCII
Represents i in ASCII
Represents f in ASCII
Represents the null "0" marker
Contains ICC specific markers
Represents I in ASCII
Represents C in ASCII
Represents _ in ASCII
Represents P in ASCII
Represents R in ASCII
Represents O in ASCII
Represents F in ASCII
Represents L in ASCII
Represents E in ASCII
Represents the null "0" marker
Performs the jpeg decoding operation.
Ported from with additional fixes to handle common encoding errors
The global configuration
Gets the temporary buffer used to store bytes read from the stream.
Contains information about the JFIF marker
Whether the image has an Adobe marker.
It's faster to check this than to use the equality operator on the struct
Contains information about the Adobe marker
Initializes static members of the class.
Initializes a new instance of the class.
Whether the image has an Adobe marker.
It's faster to check this than to use the equality operator on the struct
Contains information about the Adobe marker
Gets the frame
Gets the image width
Gets the image height
Gets the number of components
Gets the input stream.
Finds the next file marker within the byte stream.
The buffer to read file markers to
The input stream
The
Decodes the image from the specified and sets the data to image.
The pixel format.
The stream, where the image should be.
The decoded image.
Decodes the image from the specified and returns
object representing raw decoded data.
The stream, where the image should be.
The image's width.
The image's height.
The representing raw decoded data.
Parses the input stream for file markers
Contains the metadata for an image
Whether to decode metadata only.
Fills the given image with the color data
The pixel format.
The image
Assigns the horizontal and vertical resolution to the image if it has a JFIF header or EXIF metadata.
The pixel format.
The image to assign the resolution to.
Processes the application header containing the JFIF identifier plus extra data.
The remaining bytes in the segment block.
Processes the App1 marker retrieving any stored metadata
The remaining bytes in the segment block.
The image.
Processes the App2 marker retrieving any stored ICC profile information
The remaining bytes in the segment block.
The image.
Processes the application header containing the Adobe identifier
which stores image encoding information for DCT filters.
The remaining bytes in the segment block.
Processes the Define Quantization Marker and tables. Specified in section B.2.4.1.
The remaining bytes in the segment block.
Processes the Start of Frame marker. Specified in section B.2.2.
The remaining bytes in the segment block.
The current frame marker.
Processes a Define Huffman Table marker, and initializes a huffman
struct from its contents. Specified in section B.2.4.2.
The remaining bytes in the segment block.
Processes the DRI (Define Restart Interval Marker) Which specifies the interval between RSTn markers, in
macroblocks
The remaining bytes in the segment block.
Processes the SOS (Start of scan marker).
Build the data for the given component
The component
The frame component
Builds the huffman tables
The tables
The table index
The codelengths
The values
Reads a from the stream advancing it by two bytes
The
Packed pixel type containing a single 8 bit normalized W values.
Ranges from [0, 0, 0, 0] to [0, 0, 0, 1] in vector form.
Initializes a new instance of the struct.
The alpha component
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Compares an object with the packed vector.
The object to compare.
True if the object is equal to the packed vector.
Compares another Alpha8 packed vector with the packed vector.
The Alpha8 packed vector to compare.
True if the packed vectors are equal.
Gets a string representation of the packed vector.
A string representation of the packed vector.
Packs a into a byte.
The float containing the value to pack.
The containing the packed values.
Packed pixel type containing four 8-bit unsigned normalized values ranging from 0 to 255.
The color components are stored in alpha, red, green, and blue order (least significant to most significant byte).
Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.
This struct is fully mutable. This is done (against the guidelines) for the sake of performance,
as it avoids the need to create new values for modification operations.
Gets or sets the alpha component.
Gets or sets the red component.
Gets or sets the green component.
Gets or sets the blue component.
The maximum byte value.
The half vector value.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Initializes a new instance of the struct.
The vector containing the components for the packed vector.
Initializes a new instance of the struct.
The vector containing the components for the packed vector.
Initializes a new instance of the struct.
The packed value.
Gets or sets the packed representation of the Argb32 struct.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Converts the pixel to format.
The RGBA value
Converts the pixel to format.
The RGBA value
Converts the pixel to format.
The RGBA value
Gets a string representation of the packed vector.
A string representation of the packed vector.
Gets the representation without normalizing to [0, 1]
A of values in [0, 255]
Packs the four floats into a color.
The x-component
The y-component
The z-component
The w-component
Packs a into a uint.
The vector containing the values to pack.
Packs a into a color.
The vector containing the values to pack.
Pixel type containing three 8-bit unsigned normalized values ranging from 0 to 255.
The color components are stored in blue, green, red order (least significant to most significant byte).
Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.
The blue component.
The green component.
The red component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
Packed pixel type containing unsigned normalized values ranging from 0 to 1. The x and z components use 5 bits, and the y component uses 6 bits.
Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.
Initializes a new instance of the struct.
The x-component
The y-component
The z-component
Initializes a new instance of the struct.
The vector containing the components for the packed value.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Expands the packed representation into a .
The vector components are typically expanded in least to greatest significance order.
The .
Packs the components into a .
The x-component
The y-component
The z-component
The containing the packed values.
Packed pixel type containing four 8-bit unsigned normalized values ranging from 0 to 255.
The color components are stored in blue, green, red, and alpha order (least significant to most significant byte).
The format is binary compatible with System.Drawing.Imaging.PixelFormat.Format32bppArgb
Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.
Gets or sets the blue component.
Gets or sets the green component.
Gets or sets the red component.
Gets or sets the alpha component.
The maximum byte value.
The half vector value.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Gets or sets the packed representation of the Bgra32 struct.
Gets the representation without normalizing to [0, 1]
A of values in [0, 255]
Converts the pixel to format.
The RGBA value
Converts the pixel to format.
The RGBA value
Converts the pixel to format.
The RGBA value
Packs a into a color.
The vector containing the values to pack.
Packed pixel type containing unsigned normalized values, ranging from 0 to 1, using 4 bits each for x, y, z, and w.
Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.
Initializes a new instance of the struct.
The x-component
The y-component
The z-component
The w-component
Initializes a new instance of the struct.
The vector containing the components for the packed vector.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Packs the components into a .
The x-component
The y-component
The z-component
The w-component
The containing the packed values.
Packed pixel type containing unsigned normalized values ranging from 0 to 1. The x , y and z components use 5 bits, and the w component uses 1 bit.
Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.
Initializes a new instance of the struct.
The x-component
The y-component
The z-component
The w-component
Initializes a new instance of the struct.
The vector containing the components for the packed vector.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Gets a string representation of the packed vector.
A string representation of the packed vector.
Gets a hash code of the packed vector.
The hash code for the packed vector.
Packs the components into a .
The x-component
The y-component
The z-component
The w-component
The containing the packed values.
Packed pixel type containing four 8-bit unsigned integer values, ranging from 0 to 255.
Ranges from [0, 0, 0, 0] to [255, 255, 255, 255] in vector form.
Initializes a new instance of the struct.
A vector containing the initial values for the components of the Byte4 structure.
Initializes a new instance of the struct.
The x-component
The y-component
The z-component
The w-component
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Returns a string representation of the current instance.
String that represents the object.
Packs a vector into a uint.
The vector containing the values to pack.
The containing the packed values.
A set of named colors mapped to the provided Color space.
The type of the color.
Creates a new representation from the string representing a color.
The hexadecimal representation of the combined color components arranged
in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
Returns a that represents the color defined by the provided RGBA heax string.
Creates a new representation from standard RGB bytes with 100% opacity.
The red intensity.
The green intensity.
The blue intensity.
Returns a that represents the color defined by the provided RGB values with 100% opacity.
Creates a new representation from standard RGBA bytes.
The red intensity.
The green intensity.
The blue intensity.
The alpha intensity.
Returns a that represents the color defined by the provided RGBA values.
Converts the specified hex value to an rrggbbaa hex value.
The hex value to convert.
A rrggbbaa hex value.
Provides useful color definitions.
Gets a collection of named, web safe, colors as defined in the CSS Color Module Level 4.
Returns an array of web safe colors.
The
Enumerates the various component orders.
Z-> Y-> X order. Equivalent to B-> G-> R in
Z-> Y-> X-> W order. Equivalent to B-> G-> R-> A in
X-> Y-> Z order. Equivalent to R-> G-> B in
X-> Y-> Z-> W order. Equivalent to R-> G-> B-> A in
A stateless class implementing Strategy Pattern for batched pixel-data conversion operations
for pixel buffers of type .
The pixel format.
Provides access to pixel blenders
Converts 'count' elements in 'source` span of data to a span of -s.
The source of data.
The to the destination pixels.
The number of pixels to convert.
A helper for that expects a byte span.
The layout of the data in 'sourceBytes' must be compatible with layout.
The to the source bytes.
The to the destination pixels.
The number of pixels to convert.
Converts 'count' pixels in 'sourcePixels` span to a span of -s.
Bulk version of .
The span of source pixels
The destination span of data.
The number of pixels to convert.
A helper for that expects a byte span as destination.
The layout of the data in 'destBytes' must be compatible with layout.
The to the source colors.
The to the destination bytes.
The number of pixels to convert.
Converts 'count' elements in 'source` span of data to a span of -s.
The source of data.
The to the destination pixels.
The number of pixels to convert.
A helper for that expects a byte span.
The layout of the data in 'sourceBytes' must be compatible with layout.
The to the source bytes.
The to the destination pixels.
The number of pixels to convert.
Converts 'count' pixels in 'sourcePixels` span to a span of -s.
Bulk version of .
The span of source pixels
The destination span of data.
The number of pixels to convert.
A helper for that expects a byte span as destination.
The layout of the data in 'destBytes' must be compatible with layout.
The to the source colors.
The to the destination bytes.
The number of pixels to convert.
Converts 'count' elements in 'source` span of data to a span of -s.
The source of data.
The to the destination pixels.
The number of pixels to convert.
A helper for that expects a byte span.
The layout of the data in 'sourceBytes' must be compatible with layout.
The to the source bytes.
The to the destination pixels.
The number of pixels to convert.
Converts 'count' pixels in 'sourcePixels` span to a span of -s.
Bulk version of .
The span of source pixels
The destination span of data.
The number of pixels to convert.
A helper for that expects a byte span as destination.
The layout of the data in 'destBytes' must be compatible with layout.
The to the source colors.
The to the destination bytes.
The number of pixels to convert.
Converts 'count' elements in 'source` span of data to a span of -s.
The source of data.
The to the destination pixels.
The number of pixels to convert.
A helper for that expects a byte span.
The layout of the data in 'sourceBytes' must be compatible with layout.
The to the source bytes.
The to the destination pixels.
The number of pixels to convert.
Converts 'count' pixels in 'sourcePixels` span to a span of -s.
Bulk version of .
The span of source pixels
The destination span of data.
The number of pixels to convert.
A helper for that expects a byte span as destination.
The layout of the data in 'destBytes' must be compatible with layout.
The to the source colors.
The to the destination bytes.
The number of pixels to convert.
Converts 'count' elements in 'source` span of data to a span of -s.
The source of data.
The to the destination pixels.
The number of pixels to convert.
A helper for that expects a byte span.
The layout of the data in 'sourceBytes' must be compatible with layout.
The to the source bytes.
The to the destination pixels.
The number of pixels to convert.
Converts 'count' pixels in 'sourcePixels` span to a span of -s.
Bulk version of .
The span of source pixels
The destination span of data.
The number of pixels to convert.
A helper for that expects a byte span as destination.
The layout of the data in 'destBytes' must be compatible with layout.
The to the source colors.
The to the destination bytes.
The number of pixels to convert.
Converts 'count' elements in 'source` span of data to a span of -s.
The source of data.
The to the destination pixels.
The number of pixels to convert.
A helper for that expects a byte span.
The layout of the data in 'sourceBytes' must be compatible with layout.
The to the source bytes.
The to the destination pixels.
The number of pixels to convert.
Converts 'count' pixels in 'sourcePixels` span to a span of -s.
Bulk version of .
The span of source pixels
The destination span of data.
The number of pixels to convert.
A helper for that expects a byte span as destination.
The layout of the data in 'destBytes' must be compatible with layout.
The to the source colors.
The to the destination bytes.
The number of pixels to convert.
Converts 'count' elements in 'source` span of data to a span of -s.
The source of data.
The to the destination pixels.
The number of pixels to convert.
A helper for that expects a byte span.
The layout of the data in 'sourceBytes' must be compatible with layout.
The to the source bytes.
The to the destination pixels.
The number of pixels to convert.
Converts 'count' pixels in 'sourcePixels` span to a span of -s.
Bulk version of .
The span of source pixels
The destination span of data.
The number of pixels to convert.
A helper for that expects a byte span as destination.
The layout of the data in 'destBytes' must be compatible with layout.
The to the source colors.
The to the destination bytes.
The number of pixels to convert.
Gets the global instance for the pixel type
Bulk version of
The to the source vectors.
The to the destination colors.
The number of pixels to convert.
Bulk version of .
The to the source colors.
The to the destination vectors.
The number of pixels to convert.
Bulk version of
The to the source vectors.
The to the destination colors.
The number of pixels to convert.
Bulk version of .
The to the source colors.
The to the destination vectors.
The number of pixels to convert.
Verifies that the given 'source' and 'destination' spans are at least of 'minLength' size.
Throwing an if the condition is not met.
The source element type
The destination element type
The source span
The source parameter name
The destination span
The destination parameter name
The minimum length
Find an instance of the pixel blender.
The blending mode to apply
A .
Provides optimized overrides for bulk operations.
Packed pixel type containing four 8-bit unsigned normalized values ranging from 0 to 255.
The color components are stored in red, green, blue, and alpha order (least significant to most significant byte).
Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.
This struct is fully mutable. This is done (against the guidelines) for the sake of performance,
as it avoids the need to create new values for modification operations.
Provides standardized definitions for named colors.
Provides optimized overrides for bulk operations.
implementation optimized for .
SIMD optimized bulk implementation of
that works only with `count` divisible by .
The to the source colors.
The to the dstination vectors.
The number of pixels to convert.
Implementation adapted from:
http://stackoverflow.com/a/5362789
TODO: We can replace this implementation in the future using new Vector API-s:
https://github.com/dotnet/corefx/issues/15957
Value type to store -s unpacked into multiple -s.
Gets or sets the red component.
Gets or sets the green component.
Gets or sets the blue component.
Gets or sets the alpha component.
The shift count for the red component
The shift count for the green component
The shift count for the blue component
The shift count for the alpha component
The maximum byte value.
The half vector value.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Initializes a new instance of the struct.
The vector containing the components for the packed vector.
Initializes a new instance of the struct.
The vector containing the components for the packed vector.
Initializes a new instance of the struct.
The packed value.
Gets or sets the packed representation of the Rgba32 struct.
Gets or sets the RGB components of this struct as
Gets or sets the RGB components of this struct as reverting the component order.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Creates a new instance of the struct.
The hexadecimal representation of the combined color components arranged
in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
The .
Converts the value of this instance to a hexadecimal string.
A hexadecimal string representation of the value.
Gets the value of this struct as .
Useful for changing the component order.
A value.
Gets the value of this struct as .
Useful for changing the component order.
A value.
Converts the pixel to format.
The RGBA value
Gets the representation without normalizing to [0, 1]
A of values in [0, 255]
Packs a into a color returning a new instance as a result.
The vector containing the values to pack.
The
Packs the four floats into a color.
The x-component
The y-component
The z-component
The w-component
Packs a into a uint.
The vector containing the values to pack.
Packs a into a color.
The vector containing the values to pack.
Represents a matching the W3C definition that has an hex value of #F0F8FF.
Represents a matching the W3C definition that has an hex value of #FAEBD7.
Represents a matching the W3C definition that has an hex value of #00FFFF.
Represents a matching the W3C definition that has an hex value of #7FFFD4.
Represents a matching the W3C definition that has an hex value of #F0FFFF.
Represents a matching the W3C definition that has an hex value of #F5F5DC.
Represents a matching the W3C definition that has an hex value of #FFE4C4.
Represents a matching the W3C definition that has an hex value of #000000.
Represents a matching the W3C definition that has an hex value of #FFEBCD.
Represents a matching the W3C definition that has an hex value of #0000FF.
Represents a matching the W3C definition that has an hex value of #8A2BE2.
Represents a matching the W3C definition that has an hex value of #A52A2A.
Represents a matching the W3C definition that has an hex value of #DEB887.
Represents a matching the W3C definition that has an hex value of #5F9EA0.
Represents a matching the W3C definition that has an hex value of #7FFF00.
Represents a matching the W3C definition that has an hex value of #D2691E.
Represents a matching the W3C definition that has an hex value of #FF7F50.
Represents a matching the W3C definition that has an hex value of #6495ED.
Represents a matching the W3C definition that has an hex value of #FFF8DC.
Represents a matching the W3C definition that has an hex value of #DC143C.
Represents a matching the W3C definition that has an hex value of #00FFFF.
Represents a matching the W3C definition that has an hex value of #00008B.
Represents a matching the W3C definition that has an hex value of #008B8B.
Represents a matching the W3C definition that has an hex value of #B8860B.
Represents a matching the W3C definition that has an hex value of #A9A9A9.
Represents a matching the W3C definition that has an hex value of #006400.
Represents a matching the W3C definition that has an hex value of #BDB76B.
Represents a matching the W3C definition that has an hex value of #8B008B.
Represents a matching the W3C definition that has an hex value of #556B2F.
Represents a matching the W3C definition that has an hex value of #FF8C00.
Represents a matching the W3C definition that has an hex value of #9932CC.
Represents a matching the W3C definition that has an hex value of #8B0000.
Represents a matching the W3C definition that has an hex value of #E9967A.
Represents a matching the W3C definition that has an hex value of #8FBC8B.
Represents a matching the W3C definition that has an hex value of #483D8B.
Represents a matching the W3C definition that has an hex value of #2F4F4F.
Represents a matching the W3C definition that has an hex value of #00CED1.
Represents a matching the W3C definition that has an hex value of #9400D3.
Represents a matching the W3C definition that has an hex value of #FF1493.
Represents a matching the W3C definition that has an hex value of #00BFFF.
Represents a matching the W3C definition that has an hex value of #696969.
Represents a matching the W3C definition that has an hex value of #1E90FF.
Represents a matching the W3C definition that has an hex value of #B22222.
Represents a matching the W3C definition that has an hex value of #FFFAF0.
Represents a matching the W3C definition that has an hex value of #228B22.
Represents a matching the W3C definition that has an hex value of #FF00FF.
Represents a matching the W3C definition that has an hex value of #DCDCDC.
Represents a matching the W3C definition that has an hex value of #F8F8FF.
Represents a matching the W3C definition that has an hex value of #FFD700.
Represents a matching the W3C definition that has an hex value of #DAA520.
Represents a matching the W3C definition that has an hex value of #808080.
Represents a matching the W3C definition that has an hex value of #008000.
Represents a matching the W3C definition that has an hex value of #ADFF2F.
Represents a matching the W3C definition that has an hex value of #F0FFF0.
Represents a matching the W3C definition that has an hex value of #FF69B4.
Represents a matching the W3C definition that has an hex value of #CD5C5C.
Represents a matching the W3C definition that has an hex value of #4B0082.
Represents a matching the W3C definition that has an hex value of #FFFFF0.
Represents a matching the W3C definition that has an hex value of #F0E68C.
Represents a matching the W3C definition that has an hex value of #E6E6FA.
Represents a matching the W3C definition that has an hex value of #FFF0F5.
Represents a matching the W3C definition that has an hex value of #7CFC00.
Represents a matching the W3C definition that has an hex value of #FFFACD.
Represents a matching the W3C definition that has an hex value of #ADD8E6.
Represents a matching the W3C definition that has an hex value of #F08080.
Represents a matching the W3C definition that has an hex value of #E0FFFF.
Represents a matching the W3C definition that has an hex value of #FAFAD2.
Represents a matching the W3C definition that has an hex value of #D3D3D3.
Represents a matching the W3C definition that has an hex value of #90EE90.
Represents a matching the W3C definition that has an hex value of #FFB6C1.
Represents a matching the W3C definition that has an hex value of #FFA07A.
Represents a matching the W3C definition that has an hex value of #20B2AA.
Represents a matching the W3C definition that has an hex value of #87CEFA.
Represents a matching the W3C definition that has an hex value of #778899.
Represents a matching the W3C definition that has an hex value of #B0C4DE.
Represents a matching the W3C definition that has an hex value of #FFFFE0.
Represents a matching the W3C definition that has an hex value of #00FF00.
Represents a matching the W3C definition that has an hex value of #32CD32.
Represents a matching the W3C definition that has an hex value of #FAF0E6.
Represents a matching the W3C definition that has an hex value of #FF00FF.
Represents a matching the W3C definition that has an hex value of #800000.
Represents a matching the W3C definition that has an hex value of #66CDAA.
Represents a matching the W3C definition that has an hex value of #0000CD.
Represents a matching the W3C definition that has an hex value of #BA55D3.
Represents a matching the W3C definition that has an hex value of #9370DB.
Represents a matching the W3C definition that has an hex value of #3CB371.
Represents a matching the W3C definition that has an hex value of #7B68EE.
Represents a matching the W3C definition that has an hex value of #00FA9A.
Represents a matching the W3C definition that has an hex value of #48D1CC.
Represents a matching the W3C definition that has an hex value of #C71585.
Represents a matching the W3C definition that has an hex value of #191970.
Represents a matching the W3C definition that has an hex value of #F5FFFA.
Represents a matching the W3C definition that has an hex value of #FFE4E1.
Represents a matching the W3C definition that has an hex value of #FFE4B5.
Represents a matching the W3C definition that has an hex value of #FFDEAD.
Represents a matching the W3C definition that has an hex value of #000080.
Represents a matching the W3C definition that has an hex value of #FDF5E6.
Represents a matching the W3C definition that has an hex value of #808000.
Represents a matching the W3C definition that has an hex value of #6B8E23.
Represents a matching the W3C definition that has an hex value of #FFA500.
Represents a matching the W3C definition that has an hex value of #FF4500.
Represents a matching the W3C definition that has an hex value of #DA70D6.
Represents a matching the W3C definition that has an hex value of #EEE8AA.
Represents a matching the W3C definition that has an hex value of #98FB98.
Represents a matching the W3C definition that has an hex value of #AFEEEE.
Represents a matching the W3C definition that has an hex value of #DB7093.
Represents a matching the W3C definition that has an hex value of #FFEFD5.
Represents a matching the W3C definition that has an hex value of #FFDAB9.
Represents a matching the W3C definition that has an hex value of #CD853F.
Represents a matching the W3C definition that has an hex value of #FFC0CB.
Represents a matching the W3C definition that has an hex value of #DDA0DD.
Represents a matching the W3C definition that has an hex value of #B0E0E6.
Represents a matching the W3C definition that has an hex value of #800080.
Represents a matching the W3C definition that has an hex value of #663399.
Represents a matching the W3C definition that has an hex value of #FF0000.
Represents a matching the W3C definition that has an hex value of #BC8F8F.
Represents a matching the W3C definition that has an hex value of #4169E1.
Represents a matching the W3C definition that has an hex value of #8B4513.
Represents a matching the W3C definition that has an hex value of #FA8072.
Represents a matching the W3C definition that has an hex value of #F4A460.
Represents a matching the W3C definition that has an hex value of #2E8B57.
Represents a matching the W3C definition that has an hex value of #FFF5EE.
Represents a matching the W3C definition that has an hex value of #A0522D.
Represents a matching the W3C definition that has an hex value of #C0C0C0.
Represents a matching the W3C definition that has an hex value of #87CEEB.
Represents a matching the W3C definition that has an hex value of #6A5ACD.
Represents a matching the W3C definition that has an hex value of #708090.
Represents a matching the W3C definition that has an hex value of #FFFAFA.
Represents a matching the W3C definition that has an hex value of #00FF7F.
Represents a matching the W3C definition that has an hex value of #4682B4.
Represents a matching the W3C definition that has an hex value of #D2B48C.
Represents a matching the W3C definition that has an hex value of #008080.
Represents a matching the W3C definition that has an hex value of #D8BFD8.
Represents a matching the W3C definition that has an hex value of #FF6347.
Represents a matching the W3C definition that has an hex value of #FFFFFF.
Represents a matching the W3C definition that has an hex value of #40E0D0.
Represents a matching the W3C definition that has an hex value of #EE82EE.
Represents a matching the W3C definition that has an hex value of #F5DEB3.
Represents a matching the W3C definition that has an hex value of #FFFFFF.
Represents a matching the W3C definition that has an hex value of #F5F5F5.
Represents a matching the W3C definition that has an hex value of #FFFF00.
Represents a matching the W3C definition that has an hex value of #9ACD32.
Packed pixel type containing a single 16 bit floating point value.
Ranges from [-1, 0, 0, 1] to [1, 0, 0, 1] in vector form.
The maximum byte value.
The half vector value.
Initializes a new instance of the struct.
The single component.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Expands the packed representation into a .
The .
Helper methods for packing and unpacking floating point values
Packs a into an
The float to pack
The
Packs an into a
The integer to pack.
The
Unpacks a into a .
The value.
The .
Maps the position of number types in memory
The float.
The integer.
The unsigned integer.
Packed pixel type containing two 16-bit floating-point values.
Ranges from [-1, -1, 0, 1] to [1, 1, 0, 1] in vector form.
The maximum byte value.
The half vector value.
Initializes a new instance of the struct.
The x-component.
The y-component.
Initializes a new instance of the struct.
A vector containing the initial values for the components.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Expands the packed representation into a .
The .
Packs the components into a .
The x-component
The y-component
The containing the packed values.
Packed pixel type containing four 16-bit floating-point values.
Ranges from [-1, -1, -1, -1] to [1, 1, 1, 1] in vector form.
The maximum byte value.
The half vector value.
Initializes a new instance of the struct.
The x-component.
The y-component.
The z-component.
The w-component.
Initializes a new instance of the struct.
A vector containing the initial values for the components
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Packs a into a .
The vector containing the values to pack.
The containing the packed values.
This interface exists for ensuring signature compatibility to MonoGame and XNA packed color types.
The packed format. uint, long, float.
Gets or sets the packed representation of the value.
An interface that represents a generic pixel type.
The naming convention of each pixel format is to order the color components from least significant to most significant, reading from left to right.
For example in the pixel format the R component is the least significant byte, and the A component is the most significant.
The type implementing this interface
Creates a instance for this pixel type.
This method is not intended to be consumed directly. Use instead.
The instance.
An interface that represents a pixel type.
Sets the packed representation from a .
The vector to create the packed representation from.
Sets the packed representation from a scaled .
The vector to create the packed representation from.
Expands the packed representation into a scaled
with values clamped between 0 and 1.
The vector components are typically expanded in least to greatest significance order.
The .
Expands the packed representation into a .
The vector components are typically expanded in least to greatest significance order.
The .
Packs the pixel from an value.
The value.
Packs the pixel from an value.
The value.
Packs the pixel from an value.
The value.
Packs the pixel from an value.
The value.
Packs the pixel from an value.
The value.
Converts the pixel to format.
The destination pixel to write to
Converts the pixel to format.
The destination pixel to write to
Converts the pixel to format.
The destination pixel to write to
Converts the pixel to format.
The destination pixel to write to
Converts the pixel to format.
The destination pixel to write to
Converts the pixel to format.
The destination pixel to write to
Converts the pixel to format.
The destination pixel to write to
A set of named colors mapped to the provided color space.
The type of the color.
Thread-safe backing field for .
Represents a matching the W3C definition that has an hex value of #F0F8FF.
Represents a matching the W3C definition that has an hex value of #FAEBD7.
Represents a matching the W3C definition that has an hex value of #00FFFF.
Represents a matching the W3C definition that has an hex value of #7FFFD4.
Represents a matching the W3C definition that has an hex value of #F0FFFF.
Represents a matching the W3C definition that has an hex value of #F5F5DC.
Represents a matching the W3C definition that has an hex value of #FFE4C4.
Represents a matching the W3C definition that has an hex value of #000000.
Represents a matching the W3C definition that has an hex value of #FFEBCD.
Represents a matching the W3C definition that has an hex value of #0000FF.
Represents a matching the W3C definition that has an hex value of #8A2BE2.
Represents a matching the W3C definition that has an hex value of #A52A2A.
Represents a matching the W3C definition that has an hex value of #DEB887.
Represents a matching the W3C definition that has an hex value of #5F9EA0.
Represents a matching the W3C definition that has an hex value of #7FFF00.
Represents a matching the W3C definition that has an hex value of #D2691E.
Represents a matching the W3C definition that has an hex value of #FF7F50.
Represents a matching the W3C definition that has an hex value of #6495ED.
Represents a matching the W3C definition that has an hex value of #FFF8DC.
Represents a matching the W3C definition that has an hex value of #DC143C.
Represents a matching the W3C definition that has an hex value of #00FFFF.
Represents a matching the W3C definition that has an hex value of #00008B.
Represents a matching the W3C definition that has an hex value of #008B8B.
Represents a matching the W3C definition that has an hex value of #B8860B.
Represents a matching the W3C definition that has an hex value of #A9A9A9.
Represents a matching the W3C definition that has an hex value of #006400.
Represents a matching the W3C definition that has an hex value of #BDB76B.
Represents a matching the W3C definition that has an hex value of #8B008B.
Represents a matching the W3C definition that has an hex value of #556B2F.
Represents a matching the W3C definition that has an hex value of #FF8C00.
Represents a matching the W3C definition that has an hex value of #9932CC.
Represents a matching the W3C definition that has an hex value of #8B0000.
Represents a matching the W3C definition that has an hex value of #E9967A.
Represents a matching the W3C definition that has an hex value of #8FBC8B.
Represents a matching the W3C definition that has an hex value of #483D8B.
Represents a matching the W3C definition that has an hex value of #2F4F4F.
Represents a matching the W3C definition that has an hex value of #00CED1.
Represents a matching the W3C definition that has an hex value of #9400D3.
Represents a matching the W3C definition that has an hex value of #FF1493.
Represents a matching the W3C definition that has an hex value of #00BFFF.
Represents a matching the W3C definition that has an hex value of #696969.
Represents a matching the W3C definition that has an hex value of #1E90FF.
Represents a matching the W3C definition that has an hex value of #B22222.
Represents a matching the W3C definition that has an hex value of #FFFAF0.
Represents a matching the W3C definition that has an hex value of #228B22.
Represents a matching the W3C definition that has an hex value of #FF00FF.
Represents a matching the W3C definition that has an hex value of #DCDCDC.
Represents a matching the W3C definition that has an hex value of #F8F8FF.
Represents a matching the W3C definition that has an hex value of #FFD700.
Represents a matching the W3C definition that has an hex value of #DAA520.
Represents a matching the W3C definition that has an hex value of #808080.
Represents a matching the W3C definition that has an hex value of #008000.
Represents a matching the W3C definition that has an hex value of #ADFF2F.
Represents a matching the W3C definition that has an hex value of #F0FFF0.
Represents a matching the W3C definition that has an hex value of #FF69B4.
Represents a matching the W3C definition that has an hex value of #CD5C5C.
Represents a matching the W3C definition that has an hex value of #4B0082.
Represents a matching the W3C definition that has an hex value of #FFFFF0.
Represents a matching the W3C definition that has an hex value of #F0E68C.
Represents a matching the W3C definition that has an hex value of #E6E6FA.
Represents a matching the W3C definition that has an hex value of #FFF0F5.
Represents a matching the W3C definition that has an hex value of #7CFC00.
Represents a matching the W3C definition that has an hex value of #FFFACD.
Represents a matching the W3C definition that has an hex value of #ADD8E6.
Represents a matching the W3C definition that has an hex value of #F08080.
Represents a matching the W3C definition that has an hex value of #E0FFFF.
Represents a matching the W3C definition that has an hex value of #FAFAD2.
Represents a matching the W3C definition that has an hex value of #D3D3D3.
Represents a matching the W3C definition that has an hex value of #90EE90.
Represents a matching the W3C definition that has an hex value of #FFB6C1.
Represents a matching the W3C definition that has an hex value of #FFA07A.
Represents a matching the W3C definition that has an hex value of #20B2AA.
Represents a matching the W3C definition that has an hex value of #87CEFA.
Represents a matching the W3C definition that has an hex value of #778899.
Represents a matching the W3C definition that has an hex value of #B0C4DE.
Represents a matching the W3C definition that has an hex value of #FFFFE0.
Represents a matching the W3C definition that has an hex value of #00FF00.
Represents a matching the W3C definition that has an hex value of #32CD32.
Represents a matching the W3C definition that has an hex value of #FAF0E6.
Represents a matching the W3C definition that has an hex value of #FF00FF.
Represents a matching the W3C definition that has an hex value of #800000.
Represents a matching the W3C definition that has an hex value of #66CDAA.
Represents a matching the W3C definition that has an hex value of #0000CD.
Represents a matching the W3C definition that has an hex value of #BA55D3.
Represents a matching the W3C definition that has an hex value of #9370DB.
Represents a matching the W3C definition that has an hex value of #3CB371.
Represents a matching the W3C definition that has an hex value of #7B68EE.
Represents a matching the W3C definition that has an hex value of #00FA9A.
Represents a matching the W3C definition that has an hex value of #48D1CC.
Represents a matching the W3C definition that has an hex value of #C71585.
Represents a matching the W3C definition that has an hex value of #191970.
Represents a matching the W3C definition that has an hex value of #F5FFFA.
Represents a matching the W3C definition that has an hex value of #FFE4E1.
Represents a matching the W3C definition that has an hex value of #FFE4B5.
Represents a matching the W3C definition that has an hex value of #FFDEAD.
Represents a matching the W3C definition that has an hex value of #000080.
Represents a matching the W3C definition that has an hex value of #FDF5E6.
Represents a matching the W3C definition that has an hex value of #808000.
Represents a matching the W3C definition that has an hex value of #6B8E23.
Represents a matching the W3C definition that has an hex value of #FFA500.
Represents a matching the W3C definition that has an hex value of #FF4500.
Represents a matching the W3C definition that has an hex value of #DA70D6.
Represents a matching the W3C definition that has an hex value of #EEE8AA.
Represents a matching the W3C definition that has an hex value of #98FB98.
Represents a matching the W3C definition that has an hex value of #AFEEEE.
Represents a matching the W3C definition that has an hex value of #DB7093.
Represents a matching the W3C definition that has an hex value of #FFEFD5.
Represents a matching the W3C definition that has an hex value of #FFDAB9.
Represents a matching the W3C definition that has an hex value of #CD853F.
Represents a matching the W3C definition that has an hex value of #FFC0CB.
Represents a matching the W3C definition that has an hex value of #DDA0DD.
Represents a matching the W3C definition that has an hex value of #B0E0E6.
Represents a matching the W3C definition that has an hex value of #800080.
Represents a matching the W3C definition that has an hex value of #663399.
Represents a matching the W3C definition that has an hex value of #FF0000.
Represents a matching the W3C definition that has an hex value of #BC8F8F.
Represents a matching the W3C definition that has an hex value of #4169E1.
Represents a matching the W3C definition that has an hex value of #8B4513.
Represents a matching the W3C definition that has an hex value of #FA8072.
Represents a matching the W3C definition that has an hex value of #F4A460.
Represents a matching the W3C definition that has an hex value of #2E8B57.
Represents a matching the W3C definition that has an hex value of #FFF5EE.
Represents a matching the W3C definition that has an hex value of #A0522D.
Represents a matching the W3C definition that has an hex value of #C0C0C0.
Represents a matching the W3C definition that has an hex value of #87CEEB.
Represents a matching the W3C definition that has an hex value of #6A5ACD.
Represents a matching the W3C definition that has an hex value of #708090.
Represents a matching the W3C definition that has an hex value of #FFFAFA.
Represents a matching the W3C definition that has an hex value of #00FF7F.
Represents a matching the W3C definition that has an hex value of #4682B4.
Represents a matching the W3C definition that has an hex value of #D2B48C.
Represents a matching the W3C definition that has an hex value of #008080.
Represents a matching the W3C definition that has an hex value of #D8BFD8.
Represents a matching the W3C definition that has an hex value of #FF6347.
Represents a matching the W3C definition that has an hex value of #FFFFFF.
Represents a matching the W3C definition that has an hex value of #40E0D0.
Represents a matching the W3C definition that has an hex value of #EE82EE.
Represents a matching the W3C definition that has an hex value of #F5DEB3.
Represents a matching the W3C definition that has an hex value of #FFFFFF.
Represents a matching the W3C definition that has an hex value of #F5F5F5.
Represents a matching the W3C definition that has an hex value of #FFFF00.
Represents a matching the W3C definition that has an hex value of #9ACD32.
Gets a matching the W3C definition of web safe colors.
Packed packed pixel type containing two 8-bit signed normalized values, ranging from −1 to 1.
Ranges from [-1, -1, 0, 1] to [1, 1, 0, 1] in vector form.
The maximum byte value.
The half the maximum byte value.
The vector value used for rounding.
Initializes a new instance of the struct.
The vector containing the component values.
Initializes a new instance of the struct.
The x-component.
The y-component.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Expands the packed representation into a .
The vector components are typically expanded in least to greatest significance order.
The .
Packs the components into a .
The x-component
The y-component
The containing the packed values.
Packed pixel type containing four 8-bit signed normalized values, ranging from −1 to 1.
Ranges from [-1, -1, -1, -1] to [1, 1, 1, 1] in vector form.
The maximum byte value.
The half the maximum byte value.
The vector value used for rounding.
Initializes a new instance of the struct.
The vector containing the component values.
Initializes a new instance of the struct.
The x-component.
The y-component.
The z-component.
The w-component.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Packs the components into a .
The x-component
The y-component
The z-component
The w-component
The containing the packed values.
Packed pixel type containing two 16-bit signed normalized values, ranging from −1 to 1.
Ranges from [-1, -1, 0, 1] to [1, 1, 0, 1] in vector form.
The maximum byte value.
The half the maximum byte value.
The vector value used for rounding.
Initializes a new instance of the struct.
The vector containing the component values.
Initializes a new instance of the struct.
The x-component.
The y-component.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Expands the packed representation into a .
The vector components are typically expanded in least to greatest significance order.
The .
Packs the components into a .
The x-component
The y-component
The containing the packed values.
Packed pixel type containing four 16-bit signed normalized values, ranging from −1 to 1.
Ranges from [-1, -1, -1, -1] to [1, 1, 1, 1] in vector form.
The maximum byte value.
The half the maximum byte value.
The vector value used for rounding.
Initializes a new instance of the struct.
The vector containing the component values.
Initializes a new instance of the struct.
The x-component.
The y-component.
The z-component.
The w-component.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Packs the components into a .
The x-component
The y-component
The z-component
The w-component
The containing the packed values.
Enumerates the various blending modes.
Default blending mode, also known as "Normal" or "Alpha Blending"
Blends the 2 values by multiplication.
Blends the 2 values by addition.
Blends the 2 values by subtraction.
Multiplies the complements of the backdrop and source values, then complements the result.
Selects the minimum of the backdrop and source values.
Selects the max of the backdrop and source values.
Multiplies or screens the values, depending on the backdrop vector values.
Multiplies or screens the colors, depending on the source value.
returns the source colors.
returns the source over the destination.
returns the destination over the source.
The source where the destination and source overlap.
The destination where the destination and source overlap.
The destination where the source does not overlap it.
The source where they don't overlap othersie dest in overlapping parts.
The destination over the source.
The destination where the destination and source overlap.
The source where the destination and source overlap.
The clear.
Clear where they overlap.
Collection of Porter Duff alpha blending functions applying different composition models.
These functions are designed to be a general solution for all color cases,
that is, they take in account the alpha value of both the backdrop
and source, and there's no need to alpha-premultiply neither the backdrop
nor the source.
Note there are faster functions for when the backdrop color is known
to be opaque
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Gets the static instance of this blender.
Collection of Porter Duff alpha blending functions applying an the 'Over' composition model.
These functions are designed to be a general solution for all color cases,
that is, they take in account the alpha value of both the backdrop
and source, and there's no need to alpha-premultiply neither the backdrop
nor the source.
Note there are faster functions for when the backdrop color is known
to be opaque
Source over backdrop
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Source multiplied by backdrop
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Source added to backdrop
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Source subtracted from backdrop
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Complement of source multiplied by the complement of backdrop
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Per element, chooses the smallest value of source and backdrop
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Per element, chooses the largest value of source and backdrop
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Overlays source over backdrop
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Hard light effect
Backdrop color
Source color
Opacity applied to Source Alpha
Output color
Helper function for Overlay andHardLight modes
Backdrop color element
Source color element
Overlay value
General composition function for all modes, with a general solution for alpha channel
Original Backdrop color
Original source color
Desired transformed color, without taking Alpha channel in account
The final color
Abstract base class for calling pixel composition functions
The type of the pixel
Blend 2 pixels together.
The background color.
The source color.
A value between 0 and 1 indicating the weight of the second source vector.
At amount = 0, "from" is returned, at amount = 1, "to" is returned.
The final pixel value after composition
Blend 2 pixels together.
The
The destination span.
The background span.
The source span.
A value between 0 and 1 indicating the weight of the second source vector.
At amount = 0, "from" is returned, at amount = 1, "to" is returned.
Packed pixel type containing two 16-bit unsigned normalized values ranging from 0 to 1.
Ranges from [0, 0, 0, 1] to [1, 1, 0, 1] in vector form.
Initializes a new instance of the struct.
The x-component
The y-component
Initializes a new instance of the struct.
The vector containing the component values.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Expands the packed representation into a .
The vector components are typically expanded in least to greatest significance order.
The .
Packs the components into a .
The x-component
The y-component
The containing the packed values.
Pixel type containing three 8-bit unsigned normalized values ranging from 0 to 255.
The color components are stored in red, green, blue order (least significant to most significant byte).
Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.
The red component.
The green component.
The blue component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
Packed pixel type containing three 16-bit unsigned normalized values ranging from 0 to 635535.
Ranges from [0, 0, 0, 1] to [1, 1, 1, 1] in vector form.
Gets or sets the red component.
Gets or sets the green component.
Gets or sets the blue component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
Initializes a new instance of the struct.
The vector containing the components values.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Packed vector type containing unsigned normalized values ranging from 0 to 1.
The x, y and z components use 10 bits, and the w component uses 2 bits.
Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.
Initializes a new instance of the struct.
The x-component
The y-component
The z-component
The w-component
Initializes a new instance of the struct.
The vector containing the component values.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Packs the components into a .
The x-component
The y-component
The z-component
The w-component
The containing the packed values.
Packed pixel type containing four 16-bit unsigned normalized values ranging from 0 to 635535.
Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.
Gets or sets the red component.
Gets or sets the green component.
Gets or sets the blue component.
Gets or sets the alpha component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Initializes a new instance of the struct.
The vector containing the components values.
Initializes a new instance of the struct.
The packed value.
Gets or sets the RGB components of this struct as
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Unpacked pixel type containing four 16-bit floating-point values typically ranging from 0 to 1.
The color components are stored in red, green, blue, and alpha order.
Ranges from [0, 0, 0, 0] to [1, 1, 1, 1] in vector form.
This struct is fully mutable. This is done (against the guidelines) for the sake of performance,
as it avoids the need to create new values for modification operations.
Provides operators and composition algorithms.
Provides optimized overrides for bulk operations.
The maximum byte value.
The half vector value.
The backing vector for SIMD support.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Initializes a new instance of the struct.
The red component.
The green component.
The blue component.
The alpha component.
Initializes a new instance of the struct.
The vector containing the components for the packed vector.
Initializes a new instance of the struct.
The vector containing the components for the packed vector.
Gets or sets the red component.
Gets or sets the green component.
Gets or sets the blue component.
Gets or sets the alpha component.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Creates a new instance of the struct.
The hexadecimal representation of the combined color components arranged
in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
The .
Converts the value of this instance to a hexadecimal string.
A hexadecimal string representation of the value.
Gets a string representation of the packed vector.
A string representation of the packed vector.
Represents a matching the W3C definition that has an hex value of #F0F8FF.
Represents a matching the W3C definition that has an hex value of #FAEBD7.
Represents a matching the W3C definition that has an hex value of #00FFFF.
Represents a matching the W3C definition that has an hex value of #7FFFD4.
Represents a matching the W3C definition that has an hex value of #F0FFFF.
Represents a matching the W3C definition that has an hex value of #F5F5DC.
Represents a matching the W3C definition that has an hex value of #FFE4C4.
Represents a matching the W3C definition that has an hex value of #000000.
Represents a matching the W3C definition that has an hex value of #FFEBCD.
Represents a matching the W3C definition that has an hex value of #0000FF.
Represents a matching the W3C definition that has an hex value of #8A2BE2.
Represents a matching the W3C definition that has an hex value of #A52A2A.
Represents a matching the W3C definition that has an hex value of #DEB887.
Represents a matching the W3C definition that has an hex value of #5F9EA0.
Represents a matching the W3C definition that has an hex value of #7FFF00.
Represents a matching the W3C definition that has an hex value of #D2691E.
Represents a matching the W3C definition that has an hex value of #FF7F50.
Represents a matching the W3C definition that has an hex value of #6495ED.
Represents a matching the W3C definition that has an hex value of #FFF8DC.
Represents a matching the W3C definition that has an hex value of #DC143C.
Represents a matching the W3C definition that has an hex value of #00FFFF.
Represents a matching the W3C definition that has an hex value of #00008B.
Represents a matching the W3C definition that has an hex value of #008B8B.
Represents a matching the W3C definition that has an hex value of #B8860B.
Represents a matching the W3C definition that has an hex value of #A9A9A9.
Represents a matching the W3C definition that has an hex value of #006400.
Represents a matching the W3C definition that has an hex value of #BDB76B.
Represents a matching the W3C definition that has an hex value of #8B008B.
Represents a matching the W3C definition that has an hex value of #556B2F.
Represents a matching the W3C definition that has an hex value of #FF8C00.
Represents a matching the W3C definition that has an hex value of #9932CC.
Represents a matching the W3C definition that has an hex value of #8B0000.
Represents a matching the W3C definition that has an hex value of #E9967A.
Represents a matching the W3C definition that has an hex value of #8FBC8B.
Represents a matching the W3C definition that has an hex value of #483D8B.
Represents a matching the W3C definition that has an hex value of #2F4F4F.
Represents a matching the W3C definition that has an hex value of #00CED1.
Represents a matching the W3C definition that has an hex value of #9400D3.
Represents a matching the W3C definition that has an hex value of #FF1493.
Represents a matching the W3C definition that has an hex value of #00BFFF.
Represents a matching the W3C definition that has an hex value of #696969.
Represents a matching the W3C definition that has an hex value of #1E90FF.
Represents a matching the W3C definition that has an hex value of #B22222.
Represents a matching the W3C definition that has an hex value of #FFFAF0.
Represents a matching the W3C definition that has an hex value of #228B22.
Represents a matching the W3C definition that has an hex value of #FF00FF.
Represents a matching the W3C definition that has an hex value of #DCDCDC.
Represents a matching the W3C definition that has an hex value of #F8F8FF.
Represents a matching the W3C definition that has an hex value of #FFD700.
Represents a matching the W3C definition that has an hex value of #DAA520.
Represents a matching the W3C definition that has an hex value of #808080.
Represents a matching the W3C definition that has an hex value of #008000.
Represents a matching the W3C definition that has an hex value of #ADFF2F.
Represents a matching the W3C definition that has an hex value of #F0FFF0.
Represents a matching the W3C definition that has an hex value of #FF69B4.
Represents a matching the W3C definition that has an hex value of #CD5C5C.
Represents a matching the W3C definition that has an hex value of #4B0082.
Represents a matching the W3C definition that has an hex value of #FFFFF0.
Represents a matching the W3C definition that has an hex value of #F0E68C.
Represents a matching the W3C definition that has an hex value of #E6E6FA.
Represents a matching the W3C definition that has an hex value of #FFF0F5.
Represents a matching the W3C definition that has an hex value of #7CFC00.
Represents a matching the W3C definition that has an hex value of #FFFACD.
Represents a matching the W3C definition that has an hex value of #ADD8E6.
Represents a matching the W3C definition that has an hex value of #F08080.
Represents a matching the W3C definition that has an hex value of #E0FFFF.
Represents a matching the W3C definition that has an hex value of #FAFAD2.
Represents a matching the W3C definition that has an hex value of #D3D3D3.
Represents a matching the W3C definition that has an hex value of #90EE90.
Represents a matching the W3C definition that has an hex value of #FFB6C1.
Represents a matching the W3C definition that has an hex value of #FFA07A.
Represents a matching the W3C definition that has an hex value of #20B2AA.
Represents a matching the W3C definition that has an hex value of #87CEFA.
Represents a matching the W3C definition that has an hex value of #778899.
Represents a matching the W3C definition that has an hex value of #B0C4DE.
Represents a matching the W3C definition that has an hex value of #FFFFE0.
Represents a matching the W3C definition that has an hex value of #00FF00.
Represents a matching the W3C definition that has an hex value of #32CD32.
Represents a matching the W3C definition that has an hex value of #FAF0E6.
Represents a matching the W3C definition that has an hex value of #FF00FF.
Represents a matching the W3C definition that has an hex value of #800000.
Represents a matching the W3C definition that has an hex value of #66CDAA.
Represents a matching the W3C definition that has an hex value of #0000CD.
Represents a matching the W3C definition that has an hex value of #BA55D3.
Represents a matching the W3C definition that has an hex value of #9370DB.
Represents a matching the W3C definition that has an hex value of #3CB371.
Represents a matching the W3C definition that has an hex value of #7B68EE.
Represents a matching the W3C definition that has an hex value of #00FA9A.
Represents a matching the W3C definition that has an hex value of #48D1CC.
Represents a matching the W3C definition that has an hex value of #C71585.
Represents a matching the W3C definition that has an hex value of #191970.
Represents a matching the W3C definition that has an hex value of #F5FFFA.
Represents a matching the W3C definition that has an hex value of #FFE4E1.
Represents a matching the W3C definition that has an hex value of #FFE4B5.
Represents a matching the W3C definition that has an hex value of #FFDEAD.
Represents a matching the W3C definition that has an hex value of #000080.
Represents a matching the W3C definition that has an hex value of #FDF5E6.
Represents a matching the W3C definition that has an hex value of #808000.
Represents a matching the W3C definition that has an hex value of #6B8E23.
Represents a matching the W3C definition that has an hex value of #FFA500.
Represents a matching the W3C definition that has an hex value of #FF4500.
Represents a matching the W3C definition that has an hex value of #DA70D6.
Represents a matching the W3C definition that has an hex value of #EEE8AA.
Represents a matching the W3C definition that has an hex value of #98FB98.
Represents a matching the W3C definition that has an hex value of #AFEEEE.
Represents a matching the W3C definition that has an hex value of #DB7093.
Represents a matching the W3C definition that has an hex value of #FFEFD5.
Represents a matching the W3C definition that has an hex value of #FFDAB9.
Represents a matching the W3C definition that has an hex value of #CD853F.
Represents a matching the W3C definition that has an hex value of #FFC0CB.
Represents a matching the W3C definition that has an hex value of #DDA0DD.
Represents a matching the W3C definition that has an hex value of #B0E0E6.
Represents a matching the W3C definition that has an hex value of #800080.
Represents a matching the W3C definition that has an hex value of #663399.
Represents a matching the W3C definition that has an hex value of #FF0000.
Represents a matching the W3C definition that has an hex value of #BC8F8F.
Represents a matching the W3C definition that has an hex value of #4169E1.
Represents a matching the W3C definition that has an hex value of #8B4513.
Represents a matching the W3C definition that has an hex value of #FA8072.
Represents a matching the W3C definition that has an hex value of #F4A460.
Represents a matching the W3C definition that has an hex value of #2E8B57.
Represents a matching the W3C definition that has an hex value of #FFF5EE.
Represents a matching the W3C definition that has an hex value of #A0522D.
Represents a matching the W3C definition that has an hex value of #C0C0C0.
Represents a matching the W3C definition that has an hex value of #87CEEB.
Represents a matching the W3C definition that has an hex value of #6A5ACD.
Represents a matching the W3C definition that has an hex value of #708090.
Represents a matching the W3C definition that has an hex value of #FFFAFA.
Represents a matching the W3C definition that has an hex value of #00FF7F.
Represents a matching the W3C definition that has an hex value of #4682B4.
Represents a matching the W3C definition that has an hex value of #D2B48C.
Represents a matching the W3C definition that has an hex value of #008080.
Represents a matching the W3C definition that has an hex value of #D8BFD8.
Represents a matching the W3C definition that has an hex value of #FF6347.
Represents a matching the W3C definition that has an hex value of #FFFFFF.
Represents a matching the W3C definition that has an hex value of #40E0D0.
Represents a matching the W3C definition that has an hex value of #EE82EE.
Represents a matching the W3C definition that has an hex value of #F5DEB3.
Represents a matching the W3C definition that has an hex value of #FFFFFF.
Represents a matching the W3C definition that has an hex value of #F5F5F5.
Represents a matching the W3C definition that has an hex value of #FFFF00.
Represents a matching the W3C definition that has an hex value of #9ACD32.
implementation optimized for .
Packed pixel type containing two 16-bit signed integer values.
Ranges from [-32767, -32767, 0, 1] to [32767, 32767, 0, 1] in vector form.
The maximum byte value.
The half the maximum byte value.
The vector value used for rounding.
Initializes a new instance of the struct.
The vector containing the component values.
Initializes a new instance of the struct.
The x-component.
The y-component.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Expands the packed representation into a .
The vector components are typically expanded in least to greatest significance order.
The .
Packs the components into a .
The x-component
The y-component
The containing the packed values.
Packed pixel type containing four 16-bit signed integer values.
Ranges from [-37267, -37267, -37267, -37267] to [37267, 37267, 37267, 37267] in vector form.
The maximum byte value.
The half the maximum byte value.
The vector value used for rounding.
Initializes a new instance of the struct.
A vector containing the initial values for the components.
Initializes a new instance of the struct.
The x-component.
The y-component.
The z-component.
The w-component.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Compares two objects for equality.
The on the left side of the operand.
The on the right side of the operand.
True if the parameter is not equal to the parameter; otherwise, false.
Gets the hash code for the current instance.
Hash code for the instance.
Returns a string representation of the current instance.
String that represents the object.
Packs the components into a .
The x-component
The y-component
The z-component
The w-component
The containing the packed values.
Enumerates the RGBA (red, green, blue, alpha) color components.
The red component.
The green component.
The blue component.
The alpha component.
Represents a dense matrix with arbitrary elements.
Components that are adjacent in a column of the matrix are adjacent in the storage array.
The components are said to be stored in column major order.
The type of elements in the matrix.
The 1D representation of the dense matrix.
Gets the number of columns in the dense matrix.
Gets the number of rows in the dense matrix.
Gets the number of items in the array.
Initializes a new instance of the struct.
The length of each side in the matrix.
Initializes a new instance of the struct.
The number of columns.
The number of rows.
Initializes a new instance of the struct.
The 2D array to provide access to.
Gets a Span wrapping the Data.
Gets or sets the item at the specified position.
The row-coordinate of the item. Must be greater than or equal to zero and less than the height of the array.
The column-coordinate of the item. Must be greater than or equal to zero and less than the width of the array.
The at the specified position.
Performs an implicit conversion from a to a .
The source array.
The representation on the source data.
Performs an implicit conversion from a to a .
The source array.
The representation on the source data.
Fills the matrix with the given value
The value to fill each item with
Clears the matrix setting each value to the default value for the element type
Checks the coordinates to ensure they are within bounds.
The y-coordinate of the item. Must be greater than zero and smaller than the height of the matrix.
The x-coordinate of the item. Must be greater than zero and smaller than the width of the matrix.
Thrown if the coordinates are not within the bounds of the array.
Represents a number that can be expressed as a fraction
This is a very simplified implementation of a rational number designed for use with metadata only.
Initializes a new instance of the struct.
The number above the line in a vulgar fraction showing how many of the parts
indicated by the denominator are taken.
The number below the line in a vulgar fraction; a divisor.
Gets the numerator of a number.
Gets the denominator of a number.
Gets a value indicating whether this instance is indeterminate.
Gets a value indicating whether this instance is an integer (n, 1)
Gets a value indicating whether this instance is equal to negative infinity (-1, 0)
Gets a value indicating whether this instance is equal to positive infinity (1, 0)
Gets a value indicating whether this instance is equal to 0 (0, 1)
Converts the numeric value of this instance to its equivalent string representation using
the specified culture-specific format information.
An object that supplies culture-specific formatting information.
The
Create a new instance of the struct from a double value.
The to create the instance from.
Whether to use the best possible precision when parsing the value.
Finds the greatest common divisor of two values.
The first value
The second value
The
Simplifies the
Represents a number that can be expressed as a fraction.
This is a very simplified implementation of a rational number designed for use with metadata only.
Initializes a new instance of the struct.
The to create the rational from.
Initializes a new instance of the struct.
The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken.
The number below the line in a vulgar fraction; a divisor.
Initializes a new instance of the struct.
The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken.
The number below the line in a vulgar fraction; a divisor.
Specified if the rational should be simplified.
Initializes a new instance of the struct.
The to create the instance from.
Initializes a new instance of the struct.
The to create the instance from.
Whether to use the best possible precision when parsing the value.
Gets the numerator of a number.
Gets the denominator of a number.
Determines whether the specified instances are considered equal.
The first to compare.
The second to compare.
The
Determines whether the specified instances are not considered equal.
The first to compare.
The second to compare.
The
Converts the specified to an instance of this type.
The to convert to an instance of this type.
The .
Converts the specified to an instance of this type.
The to convert to an instance of this type.
Whether to use the best possible precision when parsing the value.
The .
Converts a rational number to the nearest .
The .
Converts the numeric value of this instance to its equivalent string representation using
the specified culture-specific format information.
An object that supplies culture-specific formatting information.
The
Represents a number that can be expressed as a fraction.
This is a very simplified implementation of a rational number designed for use with metadata only.
Initializes a new instance of the struct.
The to create the rational from.
Initializes a new instance of the struct.
The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken.
The number below the line in a vulgar fraction; a divisor.
Initializes a new instance of the struct.
The number above the line in a vulgar fraction showing how many of the parts indicated by the denominator are taken.
The number below the line in a vulgar fraction; a divisor.
Specified if the rational should be simplified.
Initializes a new instance of the struct.
The to create the instance from.
Initializes a new instance of the struct.
The to create the instance from.
Whether to use the best possible precision when parsing the value.
Gets the numerator of a number.
Gets the denominator of a number.
Determines whether the specified instances are considered equal.
The first to compare.
The second to compare.
The
Determines whether the specified instances are not considered equal.
The first to compare.
The second to compare.
The
Converts the specified to an instance of this type.
The to convert to an instance of this type.
The .
Converts the specified to an instance of this type.
The to convert to an instance of this type.
Whether to use the best possible precision when parsing the value.
The .
Converts a rational number to the nearest .
The .
Converts the numeric value of this instance to its equivalent string representation using
the specified culture-specific format information.
An object that supplies culture-specific formatting information.
The
Represents a value in relation to a value on the image
Initializes a new instance of the struct.
The value.
The type.
Enumerates the different value types
The value is the final return value
The value is a percentage of the image width
The value is a percentage of the images height
Gets the value.
Gets the type.
Implicitly converts a float into an absolute value
the value to use as the absolute figure.
Create a new ValueSize with as a PercentageOfWidth type with value set to percentage.
The percentage.
a Values size with type PercentageOfWidth
Create a new ValueSize with as a PercentageOfHeight type with value set to percentage.
The percentage.
a Values size with type PercentageOfHeight
Create a new ValueSize with as a Absolute type with value set to value.
The value.
a Values size with type Absolute(
Calculates the specified size.
The size.
The calculated value
Extension methods for the struct.
Creates a translation matrix from the given vector.
The translation position.
A translation matrix.
Creates a scale matrix that is offset by a given center point.
Value to scale by on the X-axis.
Value to scale by on the Y-axis.
The center point.
A scaling matrix.
Creates a scale matrix from the given vector scale.
The scale to use.
A scaling matrix.
Creates a scale matrix from the given vector scale with an offset from the given center point.
The scale to use.
The center offset.
A scaling matrix.
Creates a scale matrix that scales uniformly with the given scale with an offset from the given center.
The uniform scale to use.
The center offset.
A scaling matrix.
Creates a skew matrix from the given angles in degrees.
The X angle, in degrees.
The Y angle, in degrees.
A skew matrix.
Creates a skew matrix from the given angles in radians and a center point.
The X angle, in radians.
The Y angle, in radians.
The center point.
A skew matrix.
Creates a skew matrix from the given angles in degrees and a center point.
The X angle, in degrees.
The Y angle, in degrees.
The center point.
A skew matrix.
Creates a rotation matrix using the given rotation in degrees.
The amount of rotation, in degrees.
A rotation matrix.
Creates a rotation matrix using the given rotation in radians and a center point.
The amount of rotation, in radians.
The center point.
A rotation matrix.
Creates a rotation matrix using the given rotation in degrees and a center point.
The amount of rotation, in degrees.
The center point.
A rotation matrix.
Enumerated anchor positions to apply to resized images.
Anchors the position of the image to the center of it's bounding container.
Anchors the position of the image to the top of it's bounding container.
Anchors the position of the image to the bottom of it's bounding container.
Anchors the position of the image to the left of it's bounding container.
Anchors the position of the image to the right of it's bounding container.
Anchors the position of the image to the top left side of it's bounding container.
Anchors the position of the image to the top right side of it's bounding container.
Anchors the position of the image to the bottom right side of it's bounding container.
Anchors the position of the image to the bottom left side of it's bounding container.
Adds extensions that allow the application of auto-orientation operations to the type.
Adjusts an image so that its orientation is suitable for viewing. Adjustments are based on EXIF metadata embedded in the image.
The pixel format.
The image to auto rotate.
The
Adds extensions that allow the application of a background color to the type.
Replaces the background color of image with the given one.
The pixel format.
The image this method extends.
The color to set as the background.
The .
Replaces the background color of image with the given one.
The pixel format.
The image this method extends.
The color to set as the background.
The structure that specifies the portion of the image object to alter.
The .
Replaces the background color of image with the given one.
The pixel format.
The image this method extends.
The options effecting pixel blending.
The color to set as the background.
The .
Replaces the background color of image with the given one.
The pixel format.
The image this method extends.
The options effecting pixel blending.
The color to set as the background.
The structure that specifies the portion of the image object to alter.
The .
Adds binary diffusion extensions to the type.
Dithers the image reducing it to two colors using error diffusion.
The pixel format.
The image this method extends.
The diffusion algorithm to apply.
The threshold to apply binarization of the image. Must be between 0 and 1.
The .
Dithers the image reducing it to two colors using error diffusion.
The pixel format.
The image this method extends.
The diffusion algorithm to apply.
The threshold to apply binarization of the image. Must be between 0 and 1.
The structure that specifies the portion of the image object to alter.
The .
Dithers the image reducing it to two colors using error diffusion.
The pixel format.
The image this method extends.
The diffusion algorithm to apply.
The threshold to apply binarization of the image. Must be between 0 and 1.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold
The .
Dithers the image reducing it to two colors using error diffusion.
The pixel format.
The image this method extends.
The diffusion algorithm to apply.
The threshold to apply binarization of the image. Must be between 0 and 1.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold
The structure that specifies the portion of the image object to alter.
The .
Adds binary dithering extensions to the type.
Dithers the image reducing it to two colors using ordered dithering.
The pixel format.
The image this method extends.
The ordered ditherer.
The .
Dithers the image reducing it to two colors using ordered dithering.
The pixel format.
The image this method extends.
The ordered ditherer.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold
The .
Dithers the image reducing it to two colors using ordered dithering.
The pixel format.
The image this method extends.
The ordered ditherer.
The structure that specifies the portion of the image object to alter.
The .
Dithers the image reducing it to two colors using ordered dithering.
The pixel format.
The image this method extends.
The ordered ditherer.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold
The structure that specifies the portion of the image object to alter.
The .
Adds binary thresholding extensions to the type.
Applies binarization to the image splitting the pixels at the given threshold.
The pixel format.
The image this method extends.
The threshold to apply binarization of the image. Must be between 0 and 1.
The .
Applies binarization to the image splitting the pixels at the given threshold.
The pixel format.
The image this method extends.
The threshold to apply binarization of the image. Must be between 0 and 1.
The structure that specifies the portion of the image object to alter.
The .
Applies binarization to the image splitting the pixels at the given threshold.
The pixel format.
The image this method extends.
The threshold to apply binarization of the image. Must be between 0 and 1.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold
The .
Applies binarization to the image splitting the pixels at the given threshold.
The pixel format.
The image this method extends.
The threshold to apply binarization of the image. Must be between 0 and 1.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the application of black and white toning to the type.
Applies black and white toning to the image.
The pixel format.
The image this method extends.
The .
Applies black and white toning to the image.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Adds box blurring extensions to the type.
Applies a box blur to the image.
The pixel format.
The image this method extends.
The .
Applies a box blur to the image.
The pixel format.
The image this method extends.
The 'radius' value representing the size of the area to sample.
The .
Applies a box blur to the image.
The pixel format.
The image this method extends.
The 'radius' value representing the size of the area to sample.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the alteration of the brightness component to the type.
Alters the brightness component of the image.
A value of 0 will create an image that is completely black. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of an amount over 1 are allowed, providing brighter results.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be greater than or equal to 0.
The .
Alters the brightness component of the image.
A value of 0 will create an image that is completely black. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of an amount over 1 are allowed, providing brighter results.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be greater than or equal to 0.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that simulate the effects of various color blindness disorders to the type.
Applies the given colorblindness simulator to the image.
The pixel format.
The image this method extends.
The type of color blindness simulator to apply.
The .
Applies the given colorblindness simulator to the image.
The pixel format.
The image this method extends.
The type of color blindness simulator to apply.
The structure that specifies the portion of the image object to alter.
The .
Enumerates the various types of defined color blindness filters.
Partial color desensitivity.
Complete color desensitivity (Monochrome)
Green weak
Green blind
Red weak
Red blind
Blue weak
Blue blind
Adds extensions that allow the alteration of the contrast component to the type.
Alters the contrast component of the image.
A value of 0 will create an image that is completely gray. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of an amount over 1 are allowed, providing results with more contrast.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be greater than or equal to 0.
The .
Alters the contrast component of the image.
A value of 0 will create an image that is completely gray. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of an amount over 1 are allowed, providing results with more contrast.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be greater than or equal to 0.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the application of cropping operations to the type.
Crops an image to the given width and height.
The pixel format.
The image to resize.
The target image width.
The target image height.
The
Crops an image to the given rectangle.
The pixel format.
The image to crop.
The structure that specifies the portion of the image object to retain.
The
Performs processor application operations on the source image
The pixel format
Initializes a new instance of the class.
The image.
The mutate.
Adds edge detection extensions to the type.
Detects any edges within the image. Uses the filter
operating in grayscale mode.
The pixel format.
The image this method extends.
The .
Detects any edges within the image. Uses the filter
operating in grayscale mode.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Detects any edges within the image.
The pixel format.
The image this method extends.
The filter for detecting edges.
The .
Detects any edges within the image.
The pixel format.
The image this method extends.
The filter for detecting edges.
Whether to convert the image to grayscale first. Defaults to true.
The .
Detects any edges within the image.
The pixel format.
The image this method extends.
The filter for detecting edges.
The structure that specifies the portion of the image object to alter.
Whether to convert the image to grayscale first. Defaults to true.
The .
Detects any edges within the image.
The pixel format.
The image this method extends.
The filter for detecting edges.
The .
Detects any edges within the image.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The filter for detecting edges.
The .
Adds diffusion extensions to the type.
Dithers the image reducing it to a web-safe palette using error diffusion.
The pixel format.
The image this method extends.
The .
Dithers the image reducing it to a web-safe palette using error diffusion.
The pixel format.
The image this method extends.
The threshold to apply binarization of the image. Must be between 0 and 1.
The .
Dithers the image reducing it to a web-safe palette using error diffusion.
The pixel format.
The image this method extends.
The diffusion algorithm to apply.
The threshold to apply binarization of the image. Must be between 0 and 1.
The .
Dithers the image reducing it to a web-safe palette using error diffusion.
The pixel format.
The image this method extends.
The diffusion algorithm to apply.
The threshold to apply binarization of the image. Must be between 0 and 1.
The structure that specifies the portion of the image object to alter.
The .
Dithers the image reducing it to the given palette using error diffusion.
The pixel format.
The image this method extends.
The diffusion algorithm to apply.
The threshold to apply binarization of the image. Must be between 0 and 1.
The palette to select substitute colors from.
The .
Dithers the image reducing it to the given palette using error diffusion.
The pixel format.
The image this method extends.
The diffusion algorithm to apply.
The threshold to apply binarization of the image. Must be between 0 and 1.
The palette to select substitute colors from.
The structure that specifies the portion of the image object to alter.
The .
Adds dithering extensions to the type.
Dithers the image reducing it to a web-safe palette using Bayer4x4 ordered dithering.
The pixel format.
The image this method extends.
The .
Dithers the image reducing it to a web-safe palette using ordered dithering.
The pixel format.
The image this method extends.
The ordered ditherer.
The .
Dithers the image reducing it to the given palette using ordered dithering.
The pixel format.
The image this method extends.
The ordered ditherer.
The palette to select substitute colors from.
The .
Dithers the image reducing it to a web-safe palette using ordered dithering.
The pixel format.
The image this method extends.
The ordered ditherer.
The structure that specifies the portion of the image object to alter.
The .
Dithers the image reducing it to the given palette using ordered dithering.
The pixel format.
The image this method extends.
The ordered ditherer.
The palette to select substitute colors from.
The structure that specifies the portion of the image object to alter.
The .
Enumerates the various types of defined edge detection filters.
The Kayyali operator filter.
The Kirsch operator filter.
The Laplacian3X3 operator filter.
The Laplacian5X5 operator filter.
The LaplacianOfGaussian operator filter.
The Prewitt operator filter.
The RobertsCross operator filter.
The Robinson operator filter.
The Scharr operator filter.
The Sobel operator filter.
Adds extensions that allow the application of entropy cropping operations to the type.
Crops an image to the area of greatest entropy using a threshold for entropic density of .5F.
The pixel format.
The image to crop.
The
Crops an image to the area of greatest entropy.
The pixel format.
The image to crop.
The threshold for entropic density.
The
Adds extensions that allow the application of composable filters to the type.
Filters an image but the given color matrix
The pixel format.
The image this method extends.
The filter color matrix
The .
Filters an image but the given color matrix
The pixel format.
The image this method extends.
The filter color matrix
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the application of flipping operations to the type.
Flips an image by the given instructions.
The pixel format.
The image to rotate, flip, or both.
The to perform the flip.
The
Provides enumeration over how a image should be flipped.
Don't flip the image.
Flip the image horizontally.
Flip the image vertically.
Adds Gaussian blurring extensions to the type.
Applies a Gaussian blur to the image.
The pixel format.
The image this method extends.
The .
Applies a Gaussian blur to the image.
The pixel format.
The image this method extends.
The 'sigma' value representing the weight of the blur.
The .
Applies a Gaussian blur to the image.
The pixel format.
The image this method extends.
The 'sigma' value representing the weight of the blur.
The structure that specifies the portion of the image object to alter.
The .
Adds Gaussian sharpening extensions to the type.
Applies a Gaussian sharpening filter to the image.
The pixel format.
The image this method extends.
The .
Applies a Gaussian sharpening filter to the image.
The pixel format.
The image this method extends.
The 'sigma' value representing the weight of the blur.
The .
Applies a Gaussian sharpening filter to the image.
The pixel format.
The image this method extends.
The 'sigma' value representing the weight of the blur.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the application of a radial glow to the type.
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The color to set as the glow.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The the radius.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The color to set as the glow.
The the radius.
The structure that specifies the portion of the image object to alter.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The options effecting things like blending.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The options effecting things like blending.
The color to set as the glow.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The options effecting things like blending.
The the radius.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The options effecting things like blending.
The structure that specifies the portion of the image object to alter.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The options effecting things like blending.
The color to set as the glow.
The the radius.
The structure that specifies the portion of the image object to alter.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The options effecting things like blending.
The color to set as the glow.
The the radius.
The structure that specifies the portion of the image object to alter.
The .
Applies a radial glow effect to an image.
The pixel format.
The image this method extends.
The options effecting things like blending.
The color to set as the glow.
The the radius.
The .
Adds extensions that allow the application of grayscale toning to the type.
Applies grayscale toning to the image.
The pixel format.
The image this method extends.
The .
Applies grayscale toning to the image using the given amount.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be between 0 and 1.
The .
Applies grayscale toning to the image with the given .
The pixel format.
The image this method extends.
The formula to apply to perform the operation.
The .
Applies grayscale toning to the image with the given using the given amount.
The pixel format.
The image this method extends.
The formula to apply to perform the operation.
The proportion of the conversion. Must be between 0 and 1.
The .
Applies grayscale toning to the image.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Applies grayscale toning to the image using the given amount.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be between 0 and 1.
The structure that specifies the portion of the image object to alter.
The .
Applies grayscale toning to the image.
The pixel format.
The image this method extends.
The formula to apply to perform the operation.
The structure that specifies the portion of the image object to alter.
The .
Applies grayscale toning to the image using the given amount.
The pixel format.
The image this method extends.
The formula to apply to perform the operation.
The proportion of the conversion. Must be between 0 and 1.
The structure that specifies the portion of the image object to alter.
The .
Enumerates the various types of defined grayscale filters.
ITU-R Recommendation BT.709
ITU-R Recommendation BT.601
Adds extension that allow the adjustment of the contrast of an image via its histogram.
Equalizes the histogram of an image to increases the global contrast using 65536 luminance levels.
The pixel format.
The image this method extends.
The .
Equalizes the histogram of an image to increases the global contrast.
The pixel format.
The image this method extends.
The number of different luminance levels. Typical values are 256 for 8-bit grayscale images
or 65536 for 16-bit grayscale images.
The .
Adds extensions that allow the alteration of the hue component to the type.
Alters the hue component of the image.
The pixel format.
The image this method extends.
The rotation angle in degrees to adjust the hue.
The .
Alters the hue component of the image.
The pixel format.
The image this method extends.
The rotation angle in degrees to adjust the hue.
The structure that specifies the portion of the image object to alter.
The .
Represents an interface that will create IInternalImageProcessingContext instances
Called during mutate operations to generate the image operations provider.
The pixel format
The source image.
A flag to determine whether image operations are allowed to mutate the source image.
A new
The default implementation of
An interface to queue up image operations to apply to an image.
The pixel format
Gets a reference to the used to allocate buffers
for this context.
Gets the image dimensions at the current point in the processing pipeline.
The
Adds the processor to the current set of image operations to be applied.
The processor to apply
The area to apply it to
The current operations class to allow chaining of operations.
Adds the processor to the current set of image operations to be applied.
The processor to apply
The current operations class to allow chaining of operations.
An internal interface to queue up image operations and have a method to apply them to and return a result
The pixel format
Adds the processors to the current image
The current image or a new image depending on whether this is allowed to mutate the source image.
Adds extensions that allow the inversion of colors to the type.
Inverts the colors of the image.
The pixel format.
The image this method extends.
The .
Inverts the colors of the image.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Contains reusable static instances of known error diffusion algorithms
Gets the error diffuser that implements the Atkinson algorithm.
Gets the error diffuser that implements the Burks algorithm.
Gets the error diffuser that implements the Floyd-Steinberg algorithm.
Gets the error diffuser that implements the Jarvis-Judice-Ninke algorithm.
Gets the error diffuser that implements the Sierra-2 algorithm.
Gets the error diffuser that implements the Sierra-3 algorithm.
Gets the error diffuser that implements the Sierra-Lite algorithm.
Gets the error diffuser that implements the Stevenson-Arce algorithm.
Gets the error diffuser that implements the Stucki algorithm.
Contains reusable static instances of known ordered dither matrices
Gets the order ditherer using the 2x2 Bayer dithering matrix
Gets the order ditherer using the 3x3 dithering matrix
Gets the order ditherer using the 4x4 Bayer dithering matrix
Gets the order ditherer using the 8x8 Bayer dithering matrix
A collection of known values for composing filters
Gets a filter recreating Achromatomaly (Color desensitivity) color blindness
Gets a filter recreating Achromatopsia (Monochrome) color blindness.
Gets a filter recreating Deuteranomaly (Green-Weak) color blindness.
Gets a filter recreating Deuteranopia (Green-Blind) color blindness.
Gets a filter recreating Protanomaly (Red-Weak) color blindness.
Gets a filter recreating Protanopia (Red-Blind) color blindness.
Gets a filter recreating Tritanomaly (Blue-Weak) color blindness.
Gets a filter recreating Tritanopia (Blue-Blind) color blindness.
Gets an approximated black and white filter
Gets a filter recreating an old Kodachrome camera effect.
Gets a filter recreating an old Lomograph camera effect.
Gets a filter recreating an old Polaroid camera effect.
Create a brightness filter matrix using the given amount.
A value of 0 will create an image that is completely black. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of an amount over 1 are allowed, providing brighter results.
The proportion of the conversion. Must be greater than or equal to 0.
The
Create a contrast filter matrix using the given amount.
A value of 0 will create an image that is completely gray. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of an amount over 1 are allowed, providing results with more contrast.
The proportion of the conversion. Must be greater than or equal to 0.
The
Create a grayscale filter matrix using the given amount using the formula as specified by ITU-R Recommendation BT.601.
The proportion of the conversion. Must be between 0 and 1.
The
Create a grayscale filter matrix using the given amount using the formula as specified by ITU-R Recommendation BT.709.
The proportion of the conversion. Must be between 0 and 1.
The
Create a hue filter matrix using the given angle in degrees.
The angle of rotation in degrees.
The
Create an invert filter matrix using the given amount.
The proportion of the conversion. Must be between 0 and 1.
The
Create an opacity filter matrix using the given amount.
The proportion of the conversion. Must be between 0 and 1.
The
Create a saturation filter matrix using the given amount.
A value of 0 is completely un-saturated. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of amount over 1 are allowed, providing super-saturated results
The proportion of the conversion. Must be greater than or equal to 0.
The
Create a sepia filter matrix using the given amount.
The formula used matches the svg specification.
The proportion of the conversion. Must be between 0 and 1.
The
Contains reusable static instances of known quantizing algorithms
Gets the adaptive Octree quantizer. Fast with good quality.
The quantizer only supports a single alpha value.
Gets the Xiaolin Wu's Color Quantizer which generates high quality output.
The quantizer supports multiple alpha values.
Gets the palette based, Using the collection of web-safe colors.
The quantizer supports multiple alpha values.
Contains reusable static instances of known resampling algorithms
Gets the Bicubic sampler that implements the bicubic kernel algorithm W(x)
Gets the Box sampler that implements the box algorithm. Similar to nearest neighbor when upscaling.
When downscaling the pixels will average, merging pixels together.
Gets the Catmull-Rom sampler, a well known standard Cubic Filter often used as a interpolation function
Gets the Hermite sampler. A type of smoothed triangular interpolation filter that rounds off strong edges while
preserving flat 'color levels' in the original image.
Gets the Lanczos kernel sampler that implements smooth interpolation with a radius of 2 pixels.
This algorithm provides sharpened results when compared to others when downsampling.
Gets the Lanczos kernel sampler that implements smooth interpolation with a radius of 3 pixels
This algorithm provides sharpened results when compared to others when downsampling.
Gets the Lanczos kernel sampler that implements smooth interpolation with a radius of 5 pixels
This algorithm provides sharpened results when compared to others when downsampling.
Gets the Lanczos kernel sampler that implements smooth interpolation with a radius of 8 pixels
This algorithm provides sharpened results when compared to others when downsampling.
Gets the Mitchell-Netravali sampler. This seperable cubic algorithm yields a very good equilibrium between
detail preservation (sharpness) and smoothness.
Gets the Nearest-Neighbour sampler that implements the nearest neighbor algorithm. This uses a very fast, unscaled filter
which will select the closest pixel to the new pixels position.
Gets the Robidoux sampler. This algorithm developed by Nicolas Robidoux providing a very good equilibrium between
detail preservation (sharpness) and smoothness comprable to .
Gets the Robidoux Sharp sampler. A sharpend form of the sampler
Gets the Spline sampler. A seperable cubic algorithm similar to but yielding smoother results.
Gets the Triangle sampler, otherwise known as Bilinear. This interpolation algorithm can be used where perfect image transformation
with pixel matching is impossible, so that one can calculate and assign appropriate intensity values to pixels
Gets the Welch sampler. A high speed algorthm that delivers very sharpened results.
Adds extensions that allow the recreation of an old Kodachrome camera effect to the type.
Alters the colors of the image recreating an old Kodachrome camera effect.
The pixel format.
The image this method extends.
The .
Alters the colors of the image recreating an old Kodachrome camera effect.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the recreation of an old Lomograph camera effect to the type.
Alters the colors of the image recreating an old Lomograph camera effect.
The pixel format.
The image this method extends.
The .
Alters the colors of the image recreating an old Lomograph camera effect.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Adds oil painting effect extensions to the type.
Alters the colors of the image recreating an oil painting effect with levels and brushSize
set to 10 and 15 respectively.
The pixel format.
The image this method extends.
The .
Alters the colors of the image recreating an oil painting effect with levels and brushSize
set to 10 and 15 respectively.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Alters the colors of the image recreating an oil painting effect.
The pixel format.
The image this method extends.
The number of intensity levels. Higher values result in a broader range of color intensities forming part of the result image.
The number of neighboring pixels used in calculating each individual pixel value.
The .
Alters the colors of the image recreating an oil painting effect.
The pixel format.
The image this method extends.
The number of intensity levels. Higher values result in a broader range of color intensities forming part of the result image.
The number of neighboring pixels used in calculating each individual pixel value.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the alteration of the opacity component to the type.
Multiplies the alpha component of the image.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be between 0 and 1.
The .
Multiplies the alpha component of the image.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be between 0 and 1.
The structure that specifies the portion of the image object to alter.
The .
Enumerates the available orientation values supplied by EXIF metadata.
Unknown rotation.
The 0th row at the top, the 0th column on the left.
The 0th row at the top, the 0th column on the right.
The 0th row at the bottom, the 0th column on the right.
The 0th row at the bottom, the 0th column on the left.
The 0th row on the left, the 0th column at the top.
The 0th row at the right, the 0th column at the top.
The 0th row on the right, the 0th column at the bottom.
The 0th row on the left, the 0th column at the bottom.
Adds extensions that allow the application of padding operations to the type.
Evenly pads an image to fit the new dimensions.
The pixel format.
The source image to pad.
The new width.
The new height.
The .
Adds pixelation effect extensions to the type.
Pixelates an image with the given pixel size.
The pixel format.
The image this method extends.
The .
Pixelates an image with the given pixel size.
The pixel format.
The image this method extends.
The size of the pixels.
The .
Pixelates an image with the given pixel size.
The pixel format.
The image this method extends.
The size of the pixels.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the recreation of an old Polaroid camera effect to the type.
Alters the colors of the image recreating an old Polaroid camera effect.
The pixel format.
The image this method extends.
The .
Alters the colors of the image recreating an old Polaroid camera effect.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the processing of images to the type.
Applies the given operation to the mutable image.
Useful when we need to extract information like Width/Height to parametrize the next operation working on the chain.
To achieve this the method actually implements an "inline" with as it's processing logic.
The pixel format.
The image to mutate.
The operation to perform on the source.
The to allow chaining of operations.
Mutates the source image by applying the image operation to it.
The pixel format.
The image to mutate.
The operation to perform on the source.
Mutates the source image by applying the operations to it.
The pixel format.
The image to mutate.
The operations to perform on the source.
Creates a deep clone of the current image. The clone is then mutated by the given operation.
The pixel format.
The image to clone.
The operation to perform on the clone.
The new
Creates a deep clone of the current image. The clone is then mutated by the given operations.
The pixel format.
The image to clone.
The operations to perform on the clone.
The new
Applies the given collection against the context
The pixel format.
The image processing context.
The operations to perform on the source.
The to allow chaining of operations.
Performs binary threshold filtering against an image using error diffusion.
The pixel format.
Initializes a new instance of the class.
The error diffuser
Initializes a new instance of the class.
The error diffuser
The threshold to split the image. Must be between 0 and 1.
Initializes a new instance of the class.
The error diffuser
The threshold to split the image. Must be between 0 and 1.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold.
Gets the error diffuser.
Gets the threshold value.
Gets the color to use for pixels that are above the threshold.
Gets the color to use for pixels that fall below the threshold.
Performs binary threshold filtering against an image using ordered dithering.
The pixel format.
Initializes a new instance of the class.
The ordered ditherer.
Initializes a new instance of the class.
The ordered ditherer.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold.
Gets the ditherer.
Gets the color to use for pixels that are above the threshold.
Gets the color to use for pixels that fall below the threshold.
Performs simple binary threshold filtering against an image.
The pixel format.
Initializes a new instance of the class.
The threshold to split the image. Must be between 0 and 1.
Initializes a new instance of the class.
The threshold to split the image. Must be between 0 and 1.
The color to use for pixels that are above the threshold.
The color to use for pixels that are below the threshold.
Gets the threshold value.
Gets or sets the color to use for pixels that are above the threshold.
Gets or sets the color to use for pixels that fall below the threshold.
Allows the application of processing algorithms to a clone of the original image.
The pixel format.
Generates a deep clone of the source image that operations should be applied to.
The source image. Cannot be null.
The source rectangle.
The cloned image.
This method is called before the process is applied to prepare the processor.
The source image. Cannot be null.
The cloned/destination image. Cannot be null.
The structure that specifies the portion of the image object to draw.
This method is called before the process is applied to prepare the processor.
The source image. Cannot be null.
The cloned/destination image. Cannot be null.
The structure that specifies the portion of the image object to draw.
The configuration.
Applies the process to the specified portion of the specified at the specified location
and with the specified size.
The source image. Cannot be null.
The cloned/destination image. Cannot be null.
The structure that specifies the portion of the image object to draw.
The configuration.
This method is called after the process is applied to prepare the processor.
The source image. Cannot be null.
The cloned/destination image. Cannot be null.
The structure that specifies the portion of the image object to draw.
The configuration.
This method is called after the process is applied to prepare the processor.
The source image. Cannot be null.
The cloned/destination image. Cannot be null.
The structure that specifies the portion of the image object to draw.
Applies box blur processing to the image.
The pixel format.
The maximum size of the kernel in either direction.
Initializes a new instance of the class.
The 'radius' value representing the size of the area to sample.
Gets the Radius
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Create a 1 dimensional Box kernel.
Whether to calculate a horizontal kernel.
The
Defines a processor that uses two one-dimensional matrices to perform convolution against an image.
The pixel format.
Initializes a new instance of the class.
The horizontal gradient operator.
The vertical gradient operator.
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Defines a processor that uses two one-dimensional matrices to perform two-pass convolution against an image.
The pixel format.
Initializes a new instance of the class.
The horizontal gradient operator.
The vertical gradient operator.
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Applies the process to the specified portion of the specified at the specified location
and with the specified size.
The target pixels to apply the process to.
The source pixels. Cannot be null.
The structure that specifies the portion of the image object to draw.
The kernel operator.
The
Defines a processor that uses a 2 dimensional matrix to perform convolution against an image.
The pixel format.
Initializes a new instance of the class.
The 2d gradient operator.
Gets the 2d gradient operator.
Defines a processor that detects edges within an image using two one-dimensional matrices.
The pixel format.
Initializes a new instance of the class.
The horizontal gradient operator.
The vertical gradient operator.
Whether to convert the image to grayscale before performing edge detection.
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Defines a processor that detects edges within an image using a eight two dimensional matrices.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Gets the North gradient operator
Gets the NorthWest gradient operator
Gets the West gradient operator
Gets the SouthWest gradient operator
Gets the South gradient operator
Gets the SouthEast gradient operator
Gets the East gradient operator
Gets the NorthEast gradient operator
Defines a processor that detects edges within an image using a single two dimensional matrix.
The pixel format.
Initializes a new instance of the class.
The 2d gradient operator.
Whether to convert the image to grayscale before performing edge detection.
Gets the 2d gradient operator.
Applies Gaussian blur processing to the image.
The pixel format.
The maximum size of the kernel in either direction.
Initializes a new instance of the class.
The 'sigma' value representing the weight of the blur.
Initializes a new instance of the class.
The 'radius' value representing the size of the area to sample.
Initializes a new instance of the class.
The 'sigma' value representing the weight of the blur.
The 'radius' value representing the size of the area to sample.
This should be at least twice the sigma value.
Gets the sigma value representing the weight of the blur
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Create a 1 dimensional Gaussian kernel using the Gaussian G(x) function
Whether to calculate a horizontal kernel.
The
Applies Gaussian sharpening processing to the image.
The pixel format.
The maximum size of the kernel in either direction.
Initializes a new instance of the class.
The 'sigma' value representing the weight of the sharpening.
Initializes a new instance of the class.
The 'radius' value representing the size of the area to sample.
Initializes a new instance of the class.
The 'sigma' value representing the weight of the sharpen.
The 'radius' value representing the size of the area to sample.
This should be at least twice the sigma value.
Gets the sigma value representing the weight of the blur
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Create a 1 dimensional Gaussian kernel using the Gaussian G(x) function
Whether to calculate a horizontal kernel.
The
Provides properties and methods allowing the detection of edges within an image.
The pixel format.
Provides properties and methods allowing the detection of edges within an image.
Gets a value indicating whether to convert the image to grayscale before performing edge detection.
Contains the kernels used for Kayyali edge detection
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Applies edge detection processing to the image using the Kayyali operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Applies edge detection processing to the image using the Kirsch operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Contains the eight matrices used for Kirsh edge detection
Gets the North gradient operator
Gets the NorthWest gradient operator
Gets the West gradient operator
Gets the SouthWest gradient operator
Gets the South gradient operator
Gets the SouthEast gradient operator
Gets the East gradient operator
Gets the NorthEast gradient operator
Applies edge detection processing to the image using the Laplacian 3x3 operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Applies edge detection processing to the image using the Laplacian 5x5 operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
A factory for creating Laplacian kernel matrices.
Creates a Laplacian matrix, 2nd derivative, of an arbitrary length.
The length of the matrix sides
The
Contains Laplacian kernels of different sizes
Gets the 3x3 Laplacian kernel
Gets the 5x5 Laplacian kernel
Gets the Laplacian of Gaussian kernel.
Applies edge detection processing to the image using the Laplacian of Gaussian operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Contains the kernels used for Prewitt edge detection
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Applies edge detection processing to the image using the Prewitt operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Contains the kernels used for RobertsCross edge detection
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Applies edge detection processing to the image using the Roberts Cross operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Contains the kernels used for Robinson edge detection
Gets the North gradient operator
Gets the NorthWest gradient operator
Gets the West gradient operator
Gets the SouthWest gradient operator
Gets the South gradient operator
Gets the SouthEast gradient operator
Gets the East gradient operator
Gets the NorthEast gradient operator
Applies edge detection processing to the image using the Robinson operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Contains the kernels used for Scharr edge detection
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
Applies edge detection processing to the image using the Scharr operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Contains the kernels used for Sobel edge detection
Gets the horizontal gradient operator.
Gets the vertical gradient operator.
The Sobel operator filter.
The pixel format.
Initializes a new instance of the class.
Whether to convert the image to grayscale before performing edge detection.
Allows the application of processing algorithms to images via an action delegate
The pixel format.
Initializes a new instance of the class.
The action.
Gets the action that will be applied to the image.
Applies error diffusion based dithering using the Atkinson image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
Applies order dithering using the 2x2 Bayer dithering matrix.
Initializes a new instance of the class.
Applies order dithering using the 4x4 Bayer dithering matrix.
Initializes a new instance of the class.
Applies order dithering using the 8x8 Bayer dithering matrix.
Initializes a new instance of the class.
Applies error diffusion based dithering using the Burks image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
The base class for performing error diffusion based dithering.
The vector to perform division.
The matrix width
The matrix height
The offset at which to start the dithering operation.
The diffusion matrix
Initializes a new instance of the class.
The dithering matrix.
The divisor.
An that dithers an image using error diffusion.
The pixel format.
Initializes a new instance of the class.
The error diffuser
Initializes a new instance of the class.
The error diffuser
The threshold to split the image. Must be between 0 and 1.
Initializes a new instance of the class.
The error diffuser
The threshold to split the image. Must be between 0 and 1.
The palette to select substitute colors from.
Gets the error diffuser.
Gets the threshold value.
Applies error diffusion based dithering using the Floyd–Steinberg image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
Encapsulates properties and methods required to perform diffused error dithering on an image.
Transforms the image applying the dither matrix. This method alters the input pixels array
The image
The source pixel
The transformed pixel
The column index.
The row index.
The minimum column value.
The minimum row value.
The maximum column value.
The maximum row value.
The pixel format.
Encapsulates properties and methods required to perform ordered dithering on an image.
Transforms the image applying the dither matrix. This method alters the input pixels array
The image
The source pixel
The color to apply to the pixels above the threshold.
The color to apply to the pixels below the threshold.
The threshold to split the image. Must be between 0 and 1.
The column index.
The row index.
The pixel format.
Applies error diffusion based dithering using the JarvisJudiceNinke image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
An ordered dithering matrix with equal sides of arbitrary length
Initializes a new instance of the class.
The length of the matrix sides
Applies order dithering using the 3x3 dithering matrix.
Initializes a new instance of the class.
A factory for creating ordered dither matrices.
Creates an ordered dithering matrix with equal sides of arbitrary length.
The length of the matrix sides
The
An that dithers an image using error diffusion.
If no palette is given this will default to the web safe colors defined in the CSS Color Module Level 4.
The pixel format.
Initializes a new instance of the class.
The ordered ditherer.
Initializes a new instance of the class.
The ordered ditherer.
The palette to select substitute colors from.
Gets the ditherer.
The base class for dither and diffusion processors that consume a palette.
The pixel format.
The vector representation of the image palette.
Initializes a new instance of the class.
The palette to select substitute colors from.
Gets the palette to select substitute colors from.
Returns the two closest colors from the palette calcluated via Euclidean distance in the Rgba space.
The source color to match.
The .
Represents a composite pair of pixels. Used for caching color distance lookups.
The pixel format.
Initializes a new instance of the struct.
The first pixel color
The second pixel color
Gets the first pixel color
Gets the second pixel color
Applies error diffusion based dithering using the Sierra2 image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
Applies error diffusion based dithering using the Sierra3 image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
Applies error diffusion based dithering using the SierraLite image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
Applies error diffusion based dithering using the Stevenson-Arce image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
Applies error diffusion based dithering using the Stucki image dithering algorithm.
The diffusion matrix
Initializes a new instance of the class.
Applies oil painting effect processing to the image.
Adapted from by Dewald Esterhuizen.
The pixel format.
Initializes a new instance of the class.
The number of intensity levels. Higher values result in a broader range of color intensities forming part of the result image.
The number of neighboring pixels used in calculating each individual pixel value.
Gets the intensity levels
Gets the brush size
Applies a pixelation effect processing to the image.
The pixel format.
Initializes a new instance of the class.
The size of the pixels. Must be greater than 0.
is less than 0 or equal to 0.
Gets or the pixel size.
Converts the colors of the image recreating Achromatomaly (Color desensitivity) color blindness.
The pixel format.
Initializes a new instance of the class.
Converts the colors of the image recreating Achromatopsia (Monochrome) color blindness.
The pixel format.
Initializes a new instance of the class.
Applies a black and white filter matrix to the image
The pixel format.
Initializes a new instance of the class.
Applies a brightness filter matrix using the given amount.
The pixel format.
Initializes a new instance of the class.
A value of 0 will create an image that is completely black. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of an amount over 1 are allowed, providing brighter results.
The proportion of the conversion. Must be greater than or equal to 0.
Gets the proportion of the conversion
Applies a contrast filter matrix using the given amount.
The pixel format.
Initializes a new instance of the class.
A value of 0 will create an image that is completely gray. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of an amount over 1 are allowed, providing results with more contrast.
The proportion of the conversion. Must be greater than or equal to 0.
Gets the proportion of the conversion
Converts the colors of the image recreating Deuteranomaly (Green-Weak) color blindness.
The pixel format.
Initializes a new instance of the class.
Converts the colors of the image recreating Deuteranopia (Green-Blind) color blindness.
The pixel format.
Initializes a new instance of the class.
Provides methods that accept a matrix to apply free-form filters to images.
The pixel format.
Initializes a new instance of the class.
The matrix used to apply the image filter
Gets the used to apply the image filter.
Applies a grayscale filter matrix using the given amount and the formula as specified by ITU-R Recommendation BT.601
The pixel format.
Initializes a new instance of the class.
The proportion of the conversion. Must be between 0 and 1.
Gets the proportion of the conversion
Applies a grayscale filter matrix using the given amount and the formula as specified by ITU-R Recommendation BT.709
The pixel format.
Initializes a new instance of the class.
The proportion of the conversion. Must be between 0 and 1.
Gets the proportion of the conversion
Applies a hue filter matrix using the given angle of rotation in degrees
Initializes a new instance of the class.
The angle of rotation in degrees
Gets the angle of rotation in degrees
Applies a filter matrix that inverts the colors of an image
The pixel format.
Initializes a new instance of the class.
The proportion of the conversion. Must be between 0 and 1.
Gets the proportion of the conversion
Applies a filter matrix recreating an old Kodachrome camera effect matrix to the image
The pixel format.
Initializes a new instance of the class.
Converts the colors of the image recreating an old Lomograph effect.
The pixel format.
Initializes a new instance of the class.
Applies an opacity filter matrix using the given amount.
The pixel format.
Initializes a new instance of the class.
The proportion of the conversion. Must be between 0 and 1.
Gets the proportion of the conversion
Converts the colors of the image recreating an old Polaroid effect.
The pixel format.
Initializes a new instance of the class.
Converts the colors of the image recreating Protanomaly (Red-Weak) color blindness.
The pixel format.
Initializes a new instance of the class.
Converts the colors of the image recreating Protanopia (Red-Blind) color blindness.
The pixel format.
Initializes a new instance of the class.
Applies a saturation filter matrix using the given amount.
The pixel format.
Initializes a new instance of the class.
A value of 0 is completely un-saturated. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of amount over 1 are allowed, providing super-saturated results
The proportion of the conversion. Must be greater than or equal to 0.
Gets the proportion of the conversion
Applies a sepia filter matrix using the given amount.
The pixel format.
Initializes a new instance of the class.
The proportion of the conversion. Must be between 0 and 1.
Gets the proportion of the conversion
Converts the colors of the image recreating Tritanomaly (Blue-Weak) color blindness.
The pixel format.
Initializes a new instance of the class.
Converts the colors of the image recreating Tritanopia (Blue-Blind) color blindness.
The pixel format.
Initializes a new instance of the class.
Encapsulates methods to alter the pixels of a new image, cloned from the original image.
The pixel format.
Applies the process to the specified portion of the specified .
The source image. Cannot be null.
The structure that specifies the portion of the image object to draw.
is null.
doesn't fit the dimension of the image.
Returns the cloned image after there processor has been applied to it.
Encapsulates methods to alter the pixels of an image.
The pixel format.
Applies the process to the specified portion of the specified .
The source image. Cannot be null.
The structure that specifies the portion of the image object to draw.
is null.
doesn't fit the dimension of the image.
Allows the application of processors to images.
The pixel format.
Applies the processor to just a single ImageBase
the source image
the target
The configuration.
This method is called before the process is applied to prepare the processor.
The source image. Cannot be null.
The structure that specifies the portion of the image object to draw.
This method is called before the process is applied to prepare the processor.
The source image. Cannot be null.
The structure that specifies the portion of the image object to draw.
The configuration.
Applies the process to the specified portion of the specified at the specified location
and with the specified size.
The source image. Cannot be null.
The structure that specifies the portion of the image object to draw.
The configuration.
This method is called after the process is applied to prepare the processor.
The source image. Cannot be null.
The structure that specifies the portion of the image object to draw.
The configuration.
This method is called after the process is applied to prepare the processor.
The source image. Cannot be null.
The structure that specifies the portion of the image object to draw.
Applies a global histogram equalization to the image.
The pixel format.
Initializes a new instance of the class.
The number of different luminance levels. Typical values are 256 for 8-bit grayscale images
or 65536 for 16-bit grayscale images.
Gets the number of luminance levels.
Calculates the cumulative distribution function.
The array holding the cdf.
The histogram of the input image.
The first none zero value of the cdf.
Convert the pixel values to grayscale using ITU-R Recommendation BT.709.
The pixel to get the luminance from
The number of luminance levels (256 for 8 bit, 65536 for 16 bit grayscale images)
Sets the background color of the image.
The pixel format.
Initializes a new instance of the class.
The to set the background color to.
The options defining blending algorithm and amount.
Gets the Graphics options to alter how processor is applied.
Gets the background color value.
An that applies a radial glow effect an .
The pixel format.
Initializes a new instance of the class.
The color or the glow.
Initializes a new instance of the class.
The color or the glow.
The radius of the glow.
Initializes a new instance of the class.
The color or the glow.
The options effecting blending and composition.
Initializes a new instance of the class.
The color or the glow.
The radius of the glow.
The options effecting blending and composition.
Gets the options effecting blending and composition
Gets or sets the glow color to apply.
Gets or sets the the radius.
An that applies a radial vignette effect to an .
The pixel format.
Initializes a new instance of the class.
The color of the vignette.
Initializes a new instance of the class.
The color of the vignette.
The options effecting blending and composition.
Initializes a new instance of the class.
The color of the vignette.
The x-radius.
The y-radius.
The options effecting blending and composition.
Gets the options effecting blending and composition
Gets or sets the vignette color to apply.
Gets or sets the the x-radius.
Gets or sets the the y-radius.
The base class for all implementations
The pixel format.
A lookup table for colors
Flag used to indicate whether a single pass or two passes are needed for quantization.
The vector representation of the image palette.
Initializes a new instance of the class.
The quantizer
If true, the quantization process only needs to loop through the source pixels once
If you construct this class with a true for , then the code will
only call the method.
If two passes are required, the code will also call .
Execute the first pass through the pixels in the image to create the palette.
The source data.
The width in pixels of the image.
The height in pixels of the image.
Execute a second pass through the image to assign the pixels to a palette entry.
The source image.
The output pixel array.
The output color palette.
The width in pixels of the image.
The height in pixels of the image.
Retrieve the palette for the quantized image.
Returns the index of the first instance of the transparent color in the palette.
The .
Returns the closest color from the palette to the given color by calculating the
Euclidean distance in the Rgba colorspace.
The color.
The
Provides methods to allow the execution of the quantization process on an image frame.
The pixel format.
Gets a value indicating whether to apply dithering to the output image.
Gets the error diffusion algorithm to apply to the output image.
Quantize an image frame and return the resulting output pixels.
The image to quantize.
A representing a quantized version of the image pixels.
Provides methods for allowing quantization of images pixels with configurable dithering.
Gets the error diffusion algorithm to apply to the output image.
Creates the generic frame quantizer
The pixel format.
The
Encapsulates methods to calculate the color palette if an image using an Octree pattern.
The pixel format.
Maximum allowed color depth
Stores the tree
The transparent index
Initializes a new instance of the class.
The octree quantizer
The Octree quantizer is a two pass algorithm. The initial pass sets up the Octree,
the second pass quantizes a color based on the nodes in the tree
Process the pixel in the second pass of the algorithm.
The pixel to quantize.
The color to compare against.
The
Class which does the actual quantization
Mask used when getting the appropriate pixels for a given node
The root of the Octree
Maximum number of significant bits in the image
Store the last node quantized
Cache the previous color quantized
Initializes a new instance of the class.
The maximum number of significant bits in the image
Gets or sets the number of leaves in the tree
Gets the array of reducible nodes
Add a given color value to the Octree
The pixel data.
The color.
Convert the nodes in the Octree to a palette with a maximum of colorCount colors
The maximum number of colors
An with the palletized colors
Get the palette index for the passed color
The pixel data.
The color to map to.
The .
Keep track of the previous node that was quantized
The node last quantized
Reduce the depth of the tree
Class which encapsulates each node in the tree
Pointers to any child nodes
Flag indicating that this is a leaf node
Number of pixels in this node
Red component
Green Component
Blue component
The index of this node in the palette
Initializes a new instance of the class.
The level in the tree = 0 - 7
The number of significant color bits in the image
The tree to which this node belongs
Gets the next reducible node
Add a color into the tree
The pixel color
The number of significant color bits
The level in the tree
The tree to which this node belongs
The color to map to.
Reduce this node by removing all of its children
The number of leaves removed
Traverse the tree, building up the color palette
The palette
The current palette index
Return the palette index for the passed color
The pixel data.
The level.
The color to map to.
The representing the index of the pixel in the palette.
Increment the pixel count and add to the color information
The pixel to add.
The color to map to.
Allows the quantization of images pixels using Octrees.
By default the quantizer uses dithering and a color palette of a maximum length of 255
Initializes a new instance of the class.
Initializes a new instance of the class.
The maximum number of colors to hold in the color palette
Initializes a new instance of the class.
Whether to apply dithering to the output image
Initializes a new instance of the class.
The error diffusion algorithm, if any, to apply to the output image
Initializes a new instance of the class.
The error diffusion algorithm, if any, to apply to the output image
The maximum number of colors to hold in the color palette
Gets the maximum number of colors to hold in the color palette.
Encapsulates methods to create a quantized image based upon the given palette.
The pixel format.
The reduced image palette.
The vector representation of the image palette.
Initializes a new instance of the class.
The palette quantizer.
An array of all colors in the palette.
Process the pixel in the second pass of the algorithm
The pixel to quantize
The quantized value
Allows the quantization of images pixels using web safe colors defined in the CSS Color Module Level 4.
Override this class to provide your own palette.
By default the quantizer uses dithering and the
Initializes a new instance of the class.
Initializes a new instance of the class.
Whether to apply dithering to the output image
Initializes a new instance of the class.
The error diffusion algorithm, if any, to apply to the output image
Gets the palette to use to quantize the image.
The pixel format.
The method to return the palette.
The
Represents a quantized image frame where the pixels indexed by a color palette.
The pixel format.
Initializes a new instance of the class.
Used to allocated memory for image processing operations.
The image width.
The image height.
The color palette.
Gets the width of this .
Gets the height of this .
Gets the color palette of this .
Gets the pixels of this .
The
Enables the quantization of images to reduce the number of colors used in the image palette.
The pixel format.
Initializes a new instance of the class.
The quantizer used to reduce the color palette
Gets the quantizer
An implementation of Wu's color quantizer with alpha channel.
Based on C Implementation of Xiaolin Wu's Color Quantizer (v. 2)
(see Graphics Gems volume II, pages 126-133)
().
This adaptation is based on the excellent JeremyAnsel.ColorQuant by Jérémy Ansel
Algorithm: Greedy orthogonal bipartition of RGB space for variance minimization aided by inclusion-exclusion tricks.
For speed no nearest neighbor search is done. Slightly better performance can be expected by more sophisticated
but more expensive versions.
The pixel format.
The index bits.
The index alpha bits.
The index count.
The index alpha count.
The table length.
Moment of P(c).
Moment of r*P(c).
Moment of g*P(c).
Moment of b*P(c).
Moment of a*P(c).
Moment of c^2*P(c).
Color space tag.
Maximum allowed color depth
The reduced image palette
The color cube representing the image palette
Initializes a new instance of the class.
The wu quantizer
The Wu quantizer is a two pass algorithm. The initial pass sets up the 3-D color histogram,
the second pass quantizes a color based on the position in the histogram.
Quantizes the pixel
The rgba used to quantize the pixel input
Gets the index of the given color in the palette.
The red value.
The green value.
The blue value.
The alpha value.
The index.
Computes sum over a box of any given statistic.
The cube.
The moment.
The result.
Computes part of Volume(cube, moment) that doesn't depend on r1, g1, or b1 (depending on direction).
The cube.
The direction.
The moment.
The result.
Computes remainder of Volume(cube, moment), substituting position for r1, g1, or b1 (depending on direction).
The cube.
The direction.
The position.
The moment.
The result.
Converts the histogram into moments so that we can rapidly calculate the sums of the above quantities over any desired box.
The memory allocator used for allocating buffers.
Computes the weighted variance of a box cube.
The cube.
The .
We want to minimize the sum of the variances of two sub-boxes.
The sum(c^2) terms can be ignored since their sum over both sub-boxes
is the same (the sum for the whole box) no matter where we split.
The remaining terms have a minus sign in the variance formula,
so we drop the minus sign and maximize the sum of the two terms.
The cube.
The direction.
The first position.
The last position.
The cutting point.
The whole red.
The whole green.
The whole blue.
The whole alpha.
The whole weight.
The .
Cuts a box.
The first set.
The second set.
Returns a value indicating whether the box has been split.
Marks a color space tag.
The cube.
A label.
Builds the cube.
Process the pixel in the second pass of the algorithm
The pixel to quantize
The quantized value
Represents a box color cube.
Gets or sets the min red value, exclusive.
Gets or sets the max red value, inclusive.
Gets or sets the min green value, exclusive.
Gets or sets the max green value, inclusive.
Gets or sets the min blue value, exclusive.
Gets or sets the max blue value, inclusive.
Gets or sets the min alpha value, exclusive.
Gets or sets the max alpha value, inclusive.
Gets or sets the volume.
Allows the quantization of images pixels using Xiaolin Wu's Color Quantizer
By default the quantizer uses dithering and a color palette of a maximum length of 255
Initializes a new instance of the class.
Initializes a new instance of the class.
The maximum number of colors to hold in the color palette
Initializes a new instance of the class.
Whether to apply dithering to the output image
Initializes a new instance of the class.
The error diffusion algorithm, if any, to apply to the output image
Initializes a new instance of the class.
The error diffusion algorithm, if any, to apply to the output image
The maximum number of colors to hold in the color palette
Gets the maximum number of colors to hold in the color palette.
Provides the base methods to perform affine transforms on an image.
The pixel format.
Initializes a new instance of the class.
The transform matrix
The sampler to perform the transform operation.
The target dimensions to constrain the transformed image to.
Gets the matrix used to supply the affine transform
Gets the target dimensions to constrain the transformed image to
Gets a transform matrix adjusted for final processing based upon the target image bounds.
The source image bounds.
The destination image bounds.
The .
Adjusts an image so that its orientation is suitable for viewing. Adjustments are based on EXIF metadata embedded in the image.
The pixel format.
Returns the current EXIF orientation
The image to auto rotate.
The
The function implements the bicubic kernel algorithm W(x) as described on
Wikipedia
A commonly used algorithm within image processing that preserves sharpness better than triangle interpolation.
The function implements the box algorithm. Similar to nearest neighbor when upscaling.
When downscaling the pixels will average, merging together.
The Catmull-Rom filter is a well known standard Cubic Filter often used as a interpolation function.
This filter produces a reasonably sharp edge, but without a the pronounced gradient change on large
scale image enlargements that a 'Lagrange' filter can produce.
A base class that provides methods to allow the automatic centering of affine transforms
The pixel format.
Initializes a new instance of the class.
The transform matrix
The sampler to perform the transform operation.
The source image size
A base class that provides methods to allow the automatic centering of non-affine transforms
The pixel format.
Initializes a new instance of the class.
The transform matrix
The sampler to perform the transform operation.
The source image size
Provides methods to allow the cropping of an image.
The pixel format.
Initializes a new instance of the class.
The target cropped rectangle.
Gets the width.
Provides methods to allow the cropping of an image to preserve areas of highest entropy.
The pixel format.
Initializes a new instance of the class.
Initializes a new instance of the class.
The threshold to split the image. Must be between 0 and 1.
is less than 0 or is greater than 1.
Gets the entropy threshold value.
Provides methods that allow the flipping of an image around its center point.
The pixel format.
Initializes a new instance of the class.
The used to perform flipping.
Gets the used to perform flipping.
Swaps the image at the X-axis, which goes horizontally through the middle at half the height of the image.
The source image to apply the process to.
The configuration.
Swaps the image at the Y-axis, which goes vertically through the middle at half of the width of the image.
The source image to apply the process to.
The configuration.
The Hermite filter is type of smoothed triangular interpolation Filter,
This filter rounds off strong edges while preserving flat 'color levels' in the original image.
The base class for performing interpolated affine and non-affine transforms.
The pixel format.
Initializes a new instance of the class.
The sampler to perform the transform operation.
Gets the sampler to perform interpolation of the transform operation.
Calculated the weights for the given point.
This method uses more samples than the upscaled version to ensure edge pixels are correctly rendered.
Additionally the weights are normalized.
The minimum sampling offset
The maximum sampling offset
The minimum source bounds
The maximum source bounds
The transformed point dimension
The sampler
The transformed image scale relative to the source
The reference to the collection of weights
The length of the weights collection
Calculated the weights for the given point.
The minimum source bounds
The maximum source bounds
The transformed point dimension
The sampler
The reference to the collection of weights
Calculates the sampling radius for the current sampler
The source dimension size
The destination dimension size
The radius, and scaling factor
Encapsulates an interpolation algorithm for resampling images.
Gets the radius in which to sample pixels.
Gets the result of the interpolation algorithm.
The value to process.
The
The function implements the Lanczos kernel algorithm as described on
Wikipedia
with a radius of 2 pixels.
The function implements the Lanczos kernel algorithm as described on
Wikipedia
with a radius of 3 pixels.
The function implements the Lanczos kernel algorithm as described on
Wikipedia
with a radius of 5 pixels.
The function implements the Lanczos kernel algorithm as described on
Wikipedia
with a radius of 8 pixels.
The function implements the mitchell algorithm as described on
Wikipedia
The function implements the nearest neighbor algorithm. This uses an unscaled filter
which will select the closest pixel to the new pixels position.
Provides the base methods to perform non-affine transforms on an image.
The pixel format.
Initializes a new instance of the class.
The transform matrix
The sampler to perform the transform operation.
The target dimensions to constrain the transformed image to.
Gets the matrix used to supply the projective transform
Gets the target dimensions to constrain the transformed image to
Gets a transform matrix adjusted for final processing based upon the target image bounds.
The source image bounds.
The destination image bounds.
The .
Provides methods that allow the resizing of images using various algorithms.
Adapted from
The pixel format.
Initializes a new instance of the class.
The resize options
The source image size
Initializes a new instance of the class.
The sampler to perform the resize operation.
The target width.
The target height.
The source image size
Initializes a new instance of the class.
The sampler to perform the resize operation.
The target width.
The target height.
The source image size
The structure that specifies the portion of the target image object to draw to.
Whether to compress or expand individual pixel color values on processing.
Gets the sampler to perform the resize operation.
Gets the target width.
Gets the target height.
Gets the resize rectangle.
Gets a value indicating whether to compress or expand individual pixel color values on processing.
Computes the weights to apply at each pixel when resizing.
The to use for buffer allocations
The destination size
The source size
The
The function implements the Robidoux algorithm.
The function implements the Robidoux Sharp algorithm.
Provides methods that allow the rotating of images.
The pixel format.
Initializes a new instance of the class.
The angle of rotation in degrees.
The source image size
Initializes a new instance of the class.
The angle of rotation in degrees.
The sampler to perform the rotating operation.
The source image size
Gets the angle of rotation in degrees.
Wraps a given angle in degrees so that it falls withing the 0-360 degree range
The angle of rotation in degrees.
The
Rotates the images with an optimized method when the angle is 90, 180 or 270 degrees.
The source image.
The destination image.
The configuration.
The
Rotates the image 270 degrees clockwise at the centre point.
The source image.
The destination image.
The configuration.
Rotates the image 180 degrees clockwise at the centre point.
The source image.
The destination image.
The configuration.
Rotates the image 90 degrees clockwise at the centre point.
The source image.
The destination image.
The configuration.
Provides methods that allow the skewing of images.
The pixel format.
Initializes a new instance of the class.
The angle in degrees to perform the skew along the x-axis.
The angle in degrees to perform the skew along the y-axis.
The source image size
Initializes a new instance of the class.
The angle in degrees to perform the skew along the x-axis.
The angle in degrees to perform the skew along the y-axis.
The sampler to perform the skew operation.
The source image size
Gets the angle of rotation along the x-axis in degrees.
Gets the angle of rotation along the y-axis in degrees.
The function implements the spline algorithm.
Contains helper methods for working with affine and non-affine transforms
Converts a to a by performing a round operation on all the coordinates.
The vector
The
Transforms a point by a specified 3x2 matrix.
The point to transform
The transformation matrix used
The transformed
Updates the dimensional metadata of a transformed image
The pixel format.
The image to update
Gets the centered transform matrix based upon the source and destination rectangles
The source image bounds.
The destination image bounds.
The transformation matrix.
The
Gets the centered transform matrix based upon the source and destination rectangles
The source image bounds.
The destination image bounds.
The transformation matrix.
The
Returns the bounding rectangle relative to the source for the given transformation matrix.
The source rectangle.
The transformation matrix.
The .
Returns the bounding rectangle relative to the source for the given transformation matrix.
The source rectangle.
The transformation matrix.
The .
The base class for all transform processors. Any processor that changes the dimensions of the image should inherit from this.
The pixel format.
The function implements the triangle (bilinear) algorithm.
Bilinear interpolation can be used where perfect image transformation with pixel matching is impossible,
so that one can calculate and assign appropriate intensity values to pixels.
Holds the values in an optimized contigous memory region.
Initializes a new instance of the class.
The to use for allocations.
The size of the source window
The size of the destination window
Gets the calculated values.
Disposes instance releasing it's backing buffer.
Slices a weights value at the given positions.
The index in destination buffer
The local left index value
The local right index value
The weights
Points to a collection of of weights allocated in .
The local left index position
The length of the weights window
The index in the destination buffer
The buffer containing the weights values.
Initializes a new instance of the struct.
The destination index in the buffer
The local left index
The span
The length of the window
Gets a reference to the first item of the window.
The reference to the first item of the window
Gets the span representing the portion of the that this window covers
The
Computes the sum of vectors in 'rowSpan' weighted by weight values, pointed by this instance.
The input span of vectors
The source row position.
The weighted sum
Computes the sum of vectors in 'rowSpan' weighted by weight values, pointed by this instance.
Applies to all input vectors.
The input span of vectors
The source row position.
The weighted sum
Computes the sum of vectors in 'firstPassPixels' at a row pointed by 'x',
weighted by weight values, pointed by this instance.
The buffer of input vectors in row first order
The row position
The source column position.
The weighted sum
The function implements the welch algorithm.
Enumerates the various options which determine which side to taper
Taper the left side
Taper the top side
Taper the right side
Taper the bottom side
Enumerates the various options which determine how to taper corners
Taper the left or top corner
Taper the right or bottom corner
Taper the both sets of corners
Provides helper methods for working with generalized projective transforms.
Creates a matrix that performs a tapering projective transform.
The rectangular size of the image being transformed.
An enumeration that indicates the side of the rectangle that tapers.
An enumeration that indicates on which corners to taper the rectangle.
The amount to taper.
The
Adds extensions that allow the application of quantizing algorithms to the type.
Applies quantization to the image using the .
The pixel format.
The image this method extends.
The .
Applies quantization to the image.
The pixel format.
The image this method extends.
The quantizer to apply to perform the operation.
The .
Adds extensions that allow the application of resize operations to the type.
Resizes an image in accordance with the given .
The pixel format.
The image to resize.
The resize options.
The
Passing zero for one of height or width within the resize options will automatically preserve the aspect ratio of the original image
Resizes an image to the given .
The pixel format.
The image to resize.
The target image size.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Resizes an image to the given .
The pixel format.
The image to resize.
The target image size.
Whether to compress and expand the image color-space to gamma correct the image during processing.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Resizes an image to the given width and height.
The pixel format.
The image to resize.
The target image width.
The target image height.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Resizes an image to the given width and height.
The pixel format.
The image to resize.
The target image width.
The target image height.
Whether to compress and expand the image color-space to gamma correct the image during processing.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Resizes an image to the given width and height with the given sampler.
The pixel format.
The image to resize.
The target image width.
The target image height.
The to perform the resampling.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Resizes an image to the given width and height with the given sampler.
The pixel format.
The image to resize.
The target image size.
The to perform the resampling.
Whether to compress and expand the image color-space to gamma correct the image during processing.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Resizes an image to the given width and height with the given sampler.
The pixel format.
The image to resize.
The target image width.
The target image height.
The to perform the resampling.
Whether to compress and expand the image color-space to gamma correct the image during processing.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Resizes an image to the given width and height with the given sampler and
source rectangle.
The pixel format.
The image to resize.
The target image width.
The target image height.
The to perform the resampling.
The structure that specifies the portion of the image object to draw.
The structure that specifies the portion of the target image object to draw to.
Whether to compress and expand the image color-space to gamma correct the image during processing.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Resizes an image to the given width and height with the given sampler and source rectangle.
The pixel format.
The image to resize.
The target image width.
The target image height.
The to perform the resampling.
The structure that specifies the portion of the target image object to draw to.
Whether to compress and expand the image color-space to gamma correct the image during processing.
The
Passing zero for one of height or width will automatically preserve the aspect ratio of the original image
Provides methods to help calculate the target rectangle when resizing using the
enumeration.
Calculates the target location and bounds to perform the resize operation against.
The source image size.
The resize options.
The target width
The target height
The .
Provides enumeration over how the image should be resized.
Crops the resized image to fit the bounds of its container.
Pads the resized image to fit the bounds of its container.
If only one dimension is passed, will maintain the original aspect ratio.
Pads the image to fit the bound of the container without resizing the
original source.
When downscaling, performs the same functionality as
Constrains the resized image to fit the bounds of its container maintaining
the original aspect ratio.
Resizes the image until the shortest side reaches the set given dimension.
Upscaling is disabled in this mode and the original image will be returned
if attempted.
Stretches the resized image to fit the bounds of its container.
The resize options for resizing images against certain modes.
Gets or sets the resize mode.
Gets or sets the anchor position.
Gets or sets the center coordinates.
Gets or sets the target size.
Gets or sets the sampler to perform the resize operation.
Gets or sets a value indicating whether to compress
or expand individual pixel colors the value on processing.
Adds extensions that allow the application of rotate operations to the type.
Rotates and flips an image by the given instructions.
The pixel format.
The image to rotate.
The to perform the rotation.
The
Rotates an image by the given angle in degrees.
The pixel format.
The image to rotate.
The angle in degrees to perform the rotation.
The
Rotates an image by the given angle in degrees using the specified sampling algorithm.
The pixel format.
The image to rotate.
The angle in degrees to perform the rotation.
The to perform the resampling.
The
Adds extensions that allow the application of rotate-flip operations to the type.
Rotates and flips an image by the given instructions.
The pixel format.
The image to rotate, flip, or both.
The to perform the rotation.
The to perform the flip.
The
Provides enumeration over how the image should be rotated.
Do not rotate the image.
Rotate the image by 90 degrees clockwise.
Rotate the image by 180 degrees clockwise.
Rotate the image by 270 degrees clockwise.
Adds extensions that allow the alteration of the saturation component to the type.
Alters the saturation component of the image.
A value of 0 is completely un-saturated. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of amount over 1 are allowed, providing super-saturated results
The pixel format.
The image this method extends.
The proportion of the conversion. Must be greater than or equal to 0.
The .
Alters the saturation component of the image.
A value of 0 is completely un-saturated. A value of 1 leaves the input unchanged.
Other values are linear multipliers on the effect. Values of amount over 1 are allowed, providing super-saturated results
The pixel format.
The image this method extends.
The proportion of the conversion. Must be greater than or equal to 0.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the application of sepia toning to the type.
Applies sepia toning to the image.
The pixel format.
The image this method extends.
The .
Applies sepia toning to the image using the given amount.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be between 0 and 1.
The .
Applies sepia toning to the image.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Applies sepia toning to the image.
The pixel format.
The image this method extends.
The proportion of the conversion. Must be between 0 and 1.
The structure that specifies the portion of the image object to alter.
The .
Adds extensions that allow the application of skew operations to the type.
Skews an image by the given angles in degrees.
The pixel format.
The image to skew.
The angle in degrees to perform the skew along the x-axis.
The angle in degrees to perform the skew along the y-axis.
The
Skews an image by the given angles in degrees using the specified sampling algorithm.
The pixel format.
The image to skew.
The angle in degrees to perform the skew along the x-axis.
The angle in degrees to perform the skew along the y-axis.
The to perform the resampling.
The
Adds extensions that allow the application of composable transform operations to the type.
Transforms an image by the given matrix.
The pixel format.
The image to transform.
The transformation matrix.
The
Transforms an image by the given matrix using the specified sampling algorithm.
The pixel format.
The image to transform.
The transformation matrix.
The to perform the resampling.
The
Transforms an image by the given matrix using the specified sampling algorithm
and a rectangle defining the transform origin in the source image and the size of the result image.
The pixel format.
The image to transform.
The transformation matrix.
The to perform the resampling.
The rectangle defining the transform origin in the source image, and the size of the result image.
The
Transforms an image by the given matrix using the specified sampling algorithm,
cropping or extending the image according to .
The pixel format.
The image to transform.
The transformation matrix.
The to perform the resampling.
The size of the destination image.
The
Transforms an image by the given matrix.
The pixel format.
The image to transform.
The transformation matrix.
The
Applies a projective transform to the image by the given matrix using the specified sampling algorithm.
The pixel format.
The image to transform.
The transformation matrix.
The to perform the resampling.
The
Applies a projective transform to the image by the given matrix using the specified sampling algorithm.
TODO: Should we be offsetting the matrix here?
The pixel format.
The image to transform.
The transformation matrix.
The to perform the resampling.
The rectangle to constrain the transformed image to.
The
Adds extensions that allow the application of a radial glow to the type.
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The color to set as the vignette.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The the x-radius.
The the y-radius.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The structure that specifies the portion of the image object to alter.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The color to set as the vignette.
The the x-radius.
The the y-radius.
The structure that specifies the portion of the image object to alter.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The options effecting pixel blending.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The options effecting pixel blending.
The color to set as the vignette.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The options effecting pixel blending.
The the x-radius.
The the y-radius.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The options effecting pixel blending.
The structure that specifies the portion of the image object to alter.
The .
Applies a radial vignette effect to an image.
The pixel format.
The image this method extends.
The options effecting pixel blending.
The color to set as the vignette.
The the x-radius.
The the y-radius.
The structure that specifies the portion of the image object to alter.
The .
Specifies the position in a stream to use for reading.
Specifies the beginning of a stream.
Specifies the current position within a stream.
Represents a single frame in TIFF file.
Gets the associated .
Gets the index of the frame in the associated TIFF file.
Gets the number of rows (sometimes described as scanlines) in the image.
Gets the number of columns in the image, i.e., the number of pixels per scanline.
Gets the horizontal DPI of the image.
Gets the vertical DPI of the image.
Gets a value indicating whether the alpha channel of the image should be ignored.
Gets the orientation of the image.
Gets the chromaticity of the white point of the image.
Gets the chromaticities of the primaries of the image.
Gets or sets an instance of with Exif metadata of the image.
Gets a value indicating if the frame can be read as a .
Gets a value indicating if the frame can be read as a .
Gets a value indicating if the frame can be read as a .
Gets a value indicating if the frame can be read as a .
Gets a string that describes a person who created the image.
Gets a string with image copyright notice.
Gets a string with date and time of image creation in “YYYY:MM:DD HH:MM:SS”, with hours
like those on a 24-hour clock, and one space character between the date and the time.
Gets a string that describes the computer and/or operating system in use at the time of image creation.
Gets a string that describes the subject of the image.
Gets a string that describes the scanner manufacturer.
Gets a string with the scanner model name or number.
Gets a string with the name and version number of the software package(s) used to create the image.
Gets a value indicating whether or not an image can be read from the TIFF frame.
Gets a value specifying the reason if an image cannot be loaded from the TIFF frame.
Gets the frame image as a .
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
or null if the image is not in bi-level format.
Gets the frame image as a .
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
or null if the image is not in grayscale 8bpp format.
Gets the frame image as a .
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
or null if the image is not in palette-color 4bpp format.
Gets the frame image as a .
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
or null if the image is not in palette-color 8bpp format.
Gets the frame image as a .
Reads the frame image into an existing .
The target object.
Specifies whether the Exif metadata should be cloned (if exist), not just copied as a reference.
Creates an object for the frame.
Specifies how the image data is attached to the object.
The newly created object.
Various settings used for encoding TIFF frame and saving in a stream.
Default encoder settings.
Initializes a new instance of .
Initializes a new instance of based on the other instance.
Gets or sets a string that describes a person who created the image.
Gets or sets a string with image copyright notice.
Gets or sets a string with date and time of image creation in “YYYY:MM:DD HH:MM:SS”, with hours
like those on a 24-hour clock, and one space character between the date and the time.
Gets or sets a string that describes the computer and/or operating system in use at the time of image creation.
Gets or sets a string that describes the subject of the image.
Gets or sets a string that describes the scanner manufacturer.
Gets or sets a string with the scanner model name or number.
Gets or sets a string with the name and version number of the software package(s) used to create the image.
Gets or sets the chromaticity of the white point of the image.
Gets or sets the chromaticities of the primaries of the image.
Gets or sets a value specifying the tile width, in pixels, must be a multiple of 16.
0 is the value by default which means using strips instead of tiles.
Gets or sets a value specifying the tile height (length), in pixels, must be a multiple of 16.
0 is the value by default which means using strips instead of tiles.
Gets or sets the TIFF compression method.
Gets or sets the orientation of the image.
Gets or sets the number of bits per Red component of RGB color data (8 by default).
Applicable to RGB(A) images only.
Gets or sets the number of bits per Green component of RGB color data (8 by default).
Applicable to RGB(A) images only.
Gets or sets the number of bits per Blue component of RGB color data (8 by default).
Applicable to RGB(A) images only.
Gets or sets the number of bits per Alpha component of RGBA color data (8 by default).
Applicable to RGBA images only.
Gets or sets the number of bits per Grayscale image color (8 by default).
Applicable to Grayscale images only.
Gets or sets a value indicating if the pixel values are replaced by differences between consecutive pixels.
Applicable to LZW and Deflate compression methods, ignored otherwise.
Gets or sets a value indicating whether the pixels are arranged within a byte such that pixels
with lower column values are stored in the lower-order bits of the byte.
Applicable to bilevel images only.
Gets or sets a value indicating whether the color components are stored in separate "component planes."
Applicable to RGB images only.
Various methods working with bitmap data.
Gets the length of the vector.
Gets the length of the vector.
Gets the squared length of the vector.
Determines if two points are too close.
Determines if two points are too close.
Transforms the point by the specified matrix.
Transforms the point (x, y) by the specified matrix.
Determines whether orientation of three points is clockwise (if the result is positive) or counterclockwise (if the result is negative).
Determines whether orientation of three points is clockwise (if the result is positive) or counterclockwise (if the result is negative).
Calculates the dot product of two vectors: p0p1 and p0p2.
Calculates the dot product of two vectors: p0p1 and p0p2.
Calculates the dot product of two vectors: p1p2 and p2p3.
Calculates the dot product of two vectors: p1p2 and p2p3.
Calculates the point of intersection of two line segments.
The point of intersection or the point with both coordinates set to negative infinity if two lines are parallel.
Calculates the point of intersection of two line segments.
True if two line segments have an intersection.
Excludes areas outside the specified scan line interval.
Returns the union of two regions (as a scan line) in the destRegXs.
destRegXs must have space for (count1 + count2) elements.
Returns the intersection of two regions (as a scan line) in the destRegXs.
destRegXs must have space for max(count1, count2) elements.
Returns the difference of two regions (as a scan line) in the destRegXs.
destRegXs must have space for (count1 + count2) elements.
Returns the logical XOR of two regions (as a scan line) in the destRegXs.
destRegXs must have space for (count1 + count2) elements.
Gets all intersections at the given y-level using the Crossing Number method.
Gets all intersections at the given y-level using the Winding Number method.
Represents the corners' radii of a rounded rectangle.
Gets a structure defining a rectangle with square corners.
Initializes a new instance of the structure.
The value for all corners.
Initializes a new instance of the structure.
The value for all x radii.
The value for all y radii.
Initializes a new instance of the structure.
The value of property.
The value of property.
The value of property.
The value of property.
The value of property.
The value of property.
The value of property.
The value of property.
Gets a value indicating whether top-left corner is round,
i.e. and greater than 0.
Gets a value indicating whether top-right corner is round,
i.e. and greater than 0.
Gets a value indicating whether bottom-right corner is round,
i.e. and greater than 0.
Gets a value indicating whether bottom-left corner is round,
i.e. and greater than 0.
Gets or sets the x-radius of the upper left corner.
Gets or sets the y-radius of the upper left corner.
Gets or sets the x-radius of the upper right corner.
Gets or sets the y-radius of the upper right corner.
Gets or sets the x-radius of the bottom right corner.
Gets or sets the y-radius of the bottom right corner.
Gets or sets the x-radius of the bottom left corner.
Gets or sets the y-radius of the bottom left corner.
Gets or sets a single radius value for all corners.
Getting this property when different radii have different values returns null.
Setting this property to null does not have any effect.
Gets or sets a single X radius value for all corners.
Getting this property when different X radii have different values returns null.
Setting this property to null does not have any effect.
Gets or sets a single Y radius value for all corners.
Getting this property when different Y radii have different values returns null.
Setting this property to null does not have any effect.
Specifies how the image data is attached to the object.
An object holds the path to the source image file.
The file must not be moved or deleted while the Image object exists.
An is attached to an opened Stream. The
Stream must be kept open while the object exists.
An loads the whole binary content of the
source image file or stream when created. No connection to the
source file or stream exists after that.
Specifies the encoding of the image.
BMP, Windows Bitmap Format.
GIF, Graphics Interchange Format 89a.
JPEG, Joint Photographic Experts Group.
PNG, Portable Network Graphics.
TIFF, Tagged Image File Format.
Specifies how the interior of a closed path is filled.
Specifies the alternate fill mode.
Specifies the winding fill mode.
Abstract base class that implements a drawing surface.
Initializes a new instance of the class.
Destroys the current instance.
Aligns the image (represented by its size) within the specified rectangle.
The source image size.
Alignment to use.
The target rectangle.
The object describing how the image should be drawn.
Internal, used from AlignImage() only.
Checks whether object was disposed and throws an exception in this case.
Disposes the current graphics.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
Releases all resources used by the current .
Returns the size of an image in pixels using the resolution of the current graphics.
The image to get the size of.
The size of the image, in current resolution pixels.
Creates a clip region from a graphics path.
Use and to set/remove clipping.
The path to create the clip region from.
The created clip region.
Creates a clip region from a rectangle.
The rectangle to create the clip region from.
The created clip region.
Creates a graphics path.
The created path.
Creates an instance of with the same resolution as that of the current graphics.
This is the recommended way to create a TextLayout to use with a graphics.
The newly created text layout.
Draws a line between two points, using a specified line color, width and style.
If the value of lineStyle parameter is not , the line is drawn with a
having set to instead of .
The X coordinate of the first point.
The Y coordinate of the first point.
The X coordinate of the second point.
The Y coordinate of the second point.
The line color.
The line width.
The line style (solid by default).
Draws a line between two points, using the specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the line is drawn with a
having set to instead of .
The X coordinate of the first point.
The Y coordinate of the first point.
The X coordinate of the second point.
The Y coordinate of the second point.
The line color.
The line width.
The dash pattern.
Draws a line between two points, using a specified line color, width and style.
If the value of lineStyle parameter is not , the line is drawn with a
having set to instead of .
The first point.
The second point.
The line color.
The line width.
The line style (solid by default).
Draws a line between two points, using the specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the line is drawn with a
having set to instead of .
The first point.
The second point.
The line color.
The line width.
The dash pattern.
Draws a line between two points, using the specified pen.
The first point.
The second point.
The pen to use.
Draws a line between two points, using the specified pen.
The X coordinate of the first point.
The Y coordinate of the first point.
The X coordinate of the second point.
The Y coordinate of the second point.
The pen to use.
Draws a series of connected lines, using a specified line color, width and style.
If the value of lineStyle parameter is not , the lines are drawn with a
having set to instead of .
The array of points to connect.
The line color.
The line width.
The line style (solid by default).
Draws a series of connected lines, using a specified line style.
If the dashPattern array contains two or more items, the lines are drawn with a
having set to instead of .
The array of points to connect.
The line color.
The line width.
The dash pattern.
Draws a series of connected lines, using a specified pen.
The array of points to connect.
The pen to use.
Draws a polygon specified by an array of points, using a specified line color, width and style.
If the value of lineStyle parameter is not , the polygon is drawn with a
having set to instead of .
An array of points specifying the polygon.
The line color.
The line width.
The line style (solid by default).
Draws a polygon specified by an array of points, using a specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the polygon is drawn with a
having set to instead of .
An array of points specifying the polygon.
The line color.
The line width.
The dash pattern.
Draws a polygon specified by an array of points, using a specified pen.
An array of points specifying the polygon.
The pen to use.
Fills a polygon specified by an array of points, using a specified color and fill mode.
An array of points specifying the polygon.
The fill color.
The fill mode (alternate by default).
Fills a polygon specified by an array of points, using a specified brush and fill mode.
An array of points specifying the polygon.
The fill brush.
The fill mode (alternate by default).
The optional bounds for a gradient brush.
The transformation applied to the brush.
Draws a polygon specified by an array of points, using a specified line color, width and style.
If the value of lineStyle parameter is not , the polygon is drawn with a
having set to instead of .
A quadrilateral specifying the polygon.
The line color.
The line width.
The line style (solid by default).
Draws a polygon specified by an array of points, using a specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the polygon is drawn with a
having set to instead of .
A quadrilateral specifying the polygon.
The line color.
The line width.
The dash pattern.
Draws a polygon specified by an array of points, using a specified pen.
A quadrilateral specifying the polygon.
The pen to use.
Fills a polygon specified by an array of points, using a specified color and fill mode.
A quadrilateral specifying the polygon.
The fill color.
Fills a polygon specified by an array of points, using a specified brush and fill mode.
A quadrilateral specifying the polygon.
The fill brush.
The optional bounds for a gradient brush.
The transformation applied to the brush.
Draws a rectangle using a specified line color, width and style.
If the value of lineStyle parameter is not , the rectangle is drawn with a
having set to instead of .
A structure that represents the rectangle to draw.
The color of lines used to draw the rectangle.
The width of lines used to draw the rectangle.
The style of lines used to draw the rectangle (solid by default).
Draws a rectangle using a specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the rectangle is drawn with a
having set to instead of .
A structure that represents the rectangle to draw.
The color of lines used to draw the rectangle.
The width of lines used to draw the rectangle.
The dash pattern lines used to draw the rectangle.
Draws a rectangle using a specified pen.
A structure that represents the rectangle to draw.
The pen used to draw the rectangle.
Fills a rectangle using a specified brush.
A structure that represents the rectangle to fill.
The brush to use.
The optional bounds for a gradient brush.
The transformation applied to the brush.
Fills a rectangle witih a solid color.
A structure that represents the rectangle to fill.
The fill color.
Draws an ellipse using a specified line color, width and style.
If the value of lineStyle parameter is not , the ellipse is drawn with a
having set to instead of .
A structure that specifies the ellipse to draw.
The color of lines used to draw the ellipse.
The width of lines used to draw the ellipse.
The line style (solid by default).
Draws an ellipse using a specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the ellipse is drawn with a
having set to instead of .
A structure that specifies the ellipse to draw.
The color of lines used to draw the ellipse.
The width of lines used to draw the ellipse.
The dash pattern of lines used to draw the ellipse.
Draws an ellipse using a specified pen.
A structure that specifies the ellipse to draw.
The pen used to draw the ellipse.
Fills an ellipse with a specified brush.
A structure that specifies the ellipse to fill.
The fill brush.
The optional bounds for a gradient brush.
The transformation applied to the brush.
Fills an ellipse with a specified solid color.
A structure that specifies the ellipse to fill.
The fill color.
Creates object representing round border.
The border bounds.
The structure.
The representing round border.
Draws a rounded border defined by four objects and structure.
The structure that represents the border bounds.
The left border.
The top border.
The right border.
The bottom border.
The border's corner radius.
Draws a rounded rectangle using a specified line color, width and style.
If the value of lineStyle parameter is not , the rounded rectangle is drawn with a
having set to instead of .
A structure that represents the rectangle to draw.
The radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The color of lines used to draw the rounded rectangle.
The width of lines used to draw the rounded rectangle.
The style of lines used to draw the rounded rectangle (solid by default).
Draws a rounded rectangle using a specified line color, width and style.
If the value of lineStyle parameter is not , the rounded rectangle is drawn with a
having set to instead of .
A structure that represents the rectangle to draw.
The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The color of lines used to draw the rounded rectangle.
The width of lines used to draw the rounded rectangle.
The style of lines used to draw the rounded rectangle (solid by default).
Draws a rounded rectangle using a specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the rounded rectangle is drawn with a
having set to instead of .
A structure that represents the rectangle to draw.
The radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The color of lines used to draw the rounded rectangle.
The width of lines used to draw the rounded rectangle.
The dash pattern lines used to draw the rounded rectangle.
Draws a rounded rectangle using a specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the rounded rectangle is drawn with a
having set to instead of .
A structure that represents the rectangle to draw.
The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The color of lines used to draw the rounded rectangle.
The width of lines used to draw the rounded rectangle.
The dash pattern lines used to draw the rounded rectangle.
Draws a rounded rectangle using a specified pen.
A structure that represents the rectangle to draw.
The radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The pen used to draw the rounded rectangle.
Draws a rounded rectangle using a specified pen.
A structure that represents the rectangle to draw.
The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The pen used to draw the rounded rectangle.
Fills a rounded rectangle using a specified brush.
A structure that represents the rectangle to fill.
The radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The brush to use.
The optional bounds for a gradient brush.
The transformation applied to the brush.
Fills a rounded rectangle using a specified brush.
A structure that represents the rectangle to fill.
The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The brush to use.
The optional bounds for a gradient brush.
The transformation applied to the brush.
Fills a rounded rectangle witih a solid color.
A structure that represents the rectangle to fill.
The radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The fill color.
Fills a rounded rectangle witih a solid color.
A structure that represents the rectangle to fill.
The x-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The y-radius for the quarter ellipse that is drawn to replace every corner of the rectangle.
The fill color.
Draws a path using a specified line color, width and style.
If the value of lineStyle parameter is not , the path is drawn with a
having set to instead of .
An object implementing the interface that represents the path to draw.
The color of lines used to draw the path.
The width of lines used to draw the path.
The style of lines used to draw the path (solid by default).
Draws a path using a specified line color, width and dash pattern.
If the dashPattern array contains two or more items, the path is drawn with a
having set to instead of .
An object implementing the interface that represents the path to draw.
The color of lines used to draw the path.
The width of lines used to draw the path.
The dash pattern of lines used to draw the path.
Draws a path using a specified pen.
An object implementing the interface that represents the path to draw.
The pen used to draw the path.
Fills a path using a specified brush.
An object implementing the interface that represents the path to fill.
The brush used to fill the path.
The optional bounds for a gradient brush.
The transformation applied to the brush.
Fills a path using a specified color.
An object implementing the interface that represents the path to fill.
The color used to fill the path.
Specifies a rectangle to which all subsequent drawing operations are clipped.
Clipping is applied only if does not contain .
The object returned by this method implements IDisposable,
so this method can be used with the 'using' pattern:
using (g.PushClip(...)) ...
in which case the clipping region will be removed when the returned object is disposed.
The clipping rectangle.
The container rectangle.
The object that removes the clipping when disposed.
Specifies a rectangle to which all subsequent drawing operations are clipped.
The object returned by this method implements IDisposable,
so this method can be used with the 'using' pattern:
using (g.PushClip(...)) ...
in which case the clipping region will be removed when the returned object is disposed.
The clipping rectangle. If this parameter is null, this method does nothing and returns null.
The object that removes the clipping when disposed, or null.
Specifies a rectangle to which all subsequent drawing operations are clipped.
The object returned by this method implements IDisposable,
so this method can be used with the 'using' pattern:
using (g.PushClip(...)) ...
in which case the clipping region will be removed when the returned object is disposed.
The clipping rectangle.
The object that removes the clipping when disposed.
Specifies a path to which all subsequent drawing operations are clipped.
The object returned by this method implements IDisposable,
so this method can be used with the 'using' pattern:
using (g.PushClip(...)) ...
in which case the clipping region will be removed when the returned object is disposed.
The object defining clipping area.
The object that removes the clipping when disposed.
Specifies a clipping region to which all subsequent drawing operations are clipped.
The clipping region.
Removes the last clip.
After this method is called, the clip is no longer applied to subsequent drawing operations.
The clipping region.
Draws an image using specified bounds, clipping and image alignment.
The image to draw.
The destination rectangle.
The clipping rectangle, or null for no clipping.
The image alignment.
The image opacity.
Draws an image using specified bounds, clipping and image alignment.
In an output parameter, returns the array of actual image bounds.
The image to draw.
The destination rectangle.
The clipping rectangle, or null for no clipping.
The image alignment.
OUT: The actual bounds of the drawn images (can be more than one if the image is tiled).
The image opacity.
Measures how an image will be drawn using the specified bounds
and image alignment.
The image to draw.
The destination rectangle.
The image alignment.
The array of image bounds (can contain multiple rectangles
if the image is tiled.
Draws a at a specified location.
The to draw.
The location at which to draw the layout.
Measures a string using a specified ,
available layout size and .
Also calculates and returns in an output parameter the number of chars
that fit into the specified size.
The string to measure.
The text format to use.
The maximum available size for the layout.
The options controlling how to split the text if it does not fit into the specified size.
OUT: The number of chars that fit into the specified size.
The actual size needed to draw the string.
Measures a string using a specified ,
available layout size and default split options (see ).
Also calculates and returns in an output parameter the number of chars
that fit into the specified size.
The string to measure.
The text format to use.
The maximum available size for the layout.
OUT: The number of chars that fit into the specified size.
The actual size needed to draw the string.
Measures a string using a specified font, font size and layout width.
The string to measure.
The font to use.
The font size to use.
The width allocated to draw the string, or null to indicate unlimited width.
The size needed to draw the string.
Measures a string using a specified .
The string to measure.
The text format to use.
The width allocated to draw the string, or null to indicate unlimited width.
The size needed to draw the string.
Measures a string using a specified font, font size and layout width, taking into account the trailing whitespace at the end of each line.
The string to measure.
The font to use.
The font size to use.
The width allocated to draw the string, or null to indicate unlimited width.
The size needed to draw the string with trailing whitespace.
Measures a string using a specified , taking into account the trailing whitespace at the end of each line.
The string to measure.
The text format to use.
The width allocated to draw the string, or null to indicate unlimited width.
The size needed to draw the string with trailing whitespace.
Draws a string using a specified at a specified location.
The string to draw.
The text format to use.
The location to draw at.
Draws a string using a specified within a rectangle
using a specified text alignment, paragraph alignment and word wrapping flag.
The string to draw.
The text format to use.
The target rectangle.
The text alignment ( by default).
The paragraph alignment ( by default).
Whether to use word wrapping (true by default).
For internal use only.
For internal use only.
For internal use only.
For internal use only.
For internal use only.
For internal use only.
For internal use only.
For internal use only.
For internal use.
Gets a value indicating whether this instance of has been disposed and cannot be used anymore.
Gets or sets the resolution of the current graphics (pixels per inch).
Gets or sets the transformation matrix of the current graphics.
Gets or sets a value indicating if strings and objects are rendered using the graphic primitives instead of the specialized text drawing services.
Gets or sets a used by MeasureString and DrawString methods.
Represents data used to draw an aligned image.
Represents a clipping applied to a graphics.
When disposed, removes the associated clipping.
An empty clipping.
Removes the current clipping applied to the graphics,
and disposes the clipping object.
Draws a at a specified location using graphic primitives.
The to draw.
The location at which to draw the layout.
Fills a background of the text line.
Draws a within a at the specified location using graphic primitives.
Represents clip region.
A lightweight class representing an image in a file, stream, or array of bytes.
By default, this class does not load or decode the actual pixel data
unless is passed to
,
or .
Use the method to load the image into a
in order to access and manipulate the image data.
Disposes the current instance.
Destroys the current instance.
Disposes the current instance.
True if the method was invoked from IDisposable.Dispose, false if it was invoked from the finalizer.
Gets a value indicating whether the has been disposed of.
Creates a for the current .
Indicates whether the returned object should be disposed by the user.
A with the same pixel data as in the .
Gets a value indicating if the image is initialized and not disposed yet.
Gets the value indicating how the image data is attached to the object.
Gets the full path to the image file, if is equal to .
Gets the image stream, if is equal to .
Gets the start position for image data in the associated Stream.
Gets a value indicating if the input stream should be closed when the is disposed.
Gets the byte array with image data, if is equal to .
Gets the encoding of the image.
Gets the index of the image frame.
Gets an instance of with Exif metadata of the image.
Gets the width of the image in pixels.
Gets the height of the image in pixels.
Gets the horizontal resolution (dots per inch) of the image.
Gets the vertical resolution (dots per inch) of the image.
Creates an from a file. Jpeg, Png, Gif, Bmp, Tiff formats are supported.
The file path to the image.
Specifies how the image data is attached to the object.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
The newly created object.
Creates an from a stream. Jpeg, Png, Gif, Bmp, Tiff formats are supported.
The input stream.
Indicates if the input stream should be closed when the is disposed.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
The newly created object.
Creates an from a byte array. Jpeg, Png, Gif, Bmp, Tiff formats are supported.
The image data.
Index of an image frame to read, pass 0 for image formats not supporting multiple frames.
The newly created object.
Creates an instance of the class from the current .
A new instance of the class.
Saves the source image (all frames) to a MemoryStream.
MemoryStream with source image data.
Specifies the horizontal alignment of foreground and background images.
The image is left-aligned.
The image is centered horizontally.
The image is right-aligned.
Specifies the vertical alignment of foreground and background images.
The image is top-aligned.
The image is centered vertically.
The image is bottom-aligned.
Represents the alignment of an image within its container.
Gets the default image alignment.
Gets the image alignment that centers an image.
Gets the image alignment that stretches an image.
Gets the image alignment that scales an image.
Initializes a new instance of the class.
Initializes a new instance of the class.
A value assigned to .
A value assigned to .
A value assigned to .
A value assigned to .
A value assigned to .
A value assigned to .
A value assigned to .
Returns a string that represents the current .
A string that represents the current .
Gets or sets the horizontal alignment of an image within a container.
Gets or sets the vertical alignment of an image within a container.
Gets or sets a value indicating whether an image is stretched horizontally to fill its container.
Gets or sets a value indicating whether an image is stretched vertically to fill its container.
Gets or sets a value indicating whether the original aspect ratio is preserved when rendering an image.
Used when or is true.
Gets or sets a value indicating whether an image is tiled horizontally within its container.
Ignored if is true.
Gets or sets a value indicating whether an image is tiled vertically within its container.
Ignored if is true.
Gets or sets a value indicating whether an image should be resized to best fit within its container.
See remarks for details.
Getting this property returns a Boolean conjunction (AND) of the
, and values.
Setting this property to a true value sets
, and to true.
Setting this property to a false value sets
only to false.
Defines a common interface for images that can be drawn on a .
Gets a value indicating whether the image was not initialized or has already been disposed.
Gets the width of the image, in pixels.
Gets the height of the image, in pixels.
Gets the horizontal resolution of the image, in dots per inch.
Gets the vertical resolution of the image, in dots per inch.
If possible, gets an instance of with Exif metadata of the image.
Retrieves the underlying object, or creates a new that contains the image data.
Note that you should dispose the returned if is true.
OUT: Indicates whether the returned should be disposed by the user.
A object containing the image.
Saves the image into a MemoryStream in Jpeg encoding with specified quality.
The image quality from 0 (best compression) to 100 (best quality).
Specifies whether an arc should be greater than 180 degrees.
An arc's sweep should be 180 degrees or less.
An arc's sweep should be 180 degrees or greater.
Defines the direction that an elliptical arc is drawn.
Arcs are drawn in a counterclockwise (negative-angle) direction.
Arcs are drawn in a clockwise (positive-angle) direction.
Indicates whether a specific figure is open or closed.
The figure is open.
The figure is closed.
Describes an elliptical arc between two points.
A value that specifies whether the given arc is larger than 180 degrees.
The end point of the arc.
A value that specifies how many degrees in the clockwise direction the ellipse is rotated relative to the current coordinate system.
The x-radius and y-radius of the arc.
A value that specifies whether the arc sweep is clockwise or counterclockwise.
Represents a complex shape that may be composed of arcs, curves, and lines.
Gets a value indicating if the path is closed for subsequent modifications.
Gets a value indicating if there is an active figure to update.
Gets a value indicating if the active figure contains one or more segments.
Specifies the method used to determine which points are inside the geometry described
by this and which points are outside.
The method used to determine whether a given point is part of the geometry.
Starts a new figure at the specified point.
The point at which to begin the new figure.
Ends the current figure; optionally, closes it.
A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by .
Discards the active figure.
Closes the path for modifications. The path cannot be modified after it is closed.
Returns a rectangle that bounds this .
A that represents a rectangle that bounds this .
Returns a rectangle that bounds this when this path is transformed by the specified .
The transform to apply to this path before calculating its bounds.
A that represents a rectangle that bounds this .
Adds a single arc to the path geometry.
The arc segment to add to the figure.
Creates a line segment between the current point and the specified end point and adds it to the geometry sink.
The end point of the line to draw.
Creates a cubic Bezier curve between the current point and the specified end point.
The first control point for the Bezier segment.
The second control point for the Bezier segment.
The end point for the Bezier segment.
Creates a quadratic Bezier curve between the current point and the specified end point.
The control point of the quadratic Bezier segment.
The end point of the quadratic Bezier segment.
Contains extension methods for .
Adds ellipse figure to the path.
Note! Method calls and ,
used as parameter for .
The .
The ellipse's bounds.
The parameter of called .
Adds rect figure to the path.
Note! Method calls and ,
used as parameter for .
The .
The rectangle bounds.
The parameter of called .
Represents calculated round rectangle, used in internal calculations.
Allows to render multifragment text.
Initializes a new instance of the class.
The text layout to split and render.
The splittin options.
Begins render the text layout on specified graphics.
The to draw.
The bounds of first fragment.
The size for the next fragment.
Returns true if text does not fit in specified bounds and rendering should be continued with .
Continues rendering started with method.
Gets the object defining split options.
The value for which all absolute numbers smaller than are considered equal to zero.
Used in .
The multiplier for conversion from degrees to radians.
The multiplier for conversion from radians to degrees.
The angle of 45degrees in radians.
The COS of 45 degrees.
The SIN of 45 degrees.
Converts the vector into a unit vector.
The vector to normalize.
Gets darker color relative to specified base color.
Get lightening color relative to specified base color.
Updates in passed
so text will fit in bounds specified by and .
Updates and using
, topLeft and bottomRight contains current coordinates of top-left
and bottom-right corners.
Calculates an angle between two vectors, in radians.
For internal use.
For internal use.
Returns true if v >= min and v <= max.
For internal use.
Returns true if line segment specified by the and
intersects the rectangle .
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.
For internal use.