KGySoft.Drawing.Imaging Namespace

KGy SOFT Drawing Libraries Help
The KGySoft.Drawing.Imaging namespace provides advanced imaging functionality such as low-level bitmap data access for any pixel format, interfaces for quantization and dithering along with some built-in implementations, etc.
See also the KGySoft.Drawing namespace, which provides more basic functionality.
Classes

  ClassDescription
Public classErrorDiffusionDitherer
Provides an IDitherer implementation for error diffusion dithering. Use the static properties of this class to use predefined error diffusion filters or the constructor to create a custom one.
See the Remarks section for details and some image examples.
Public classInterleavedGradientNoiseDitherer
Provides an IDitherer implementation for applying an interleaved gradient noise pattern to the dithered result. For other noise-like ditherers see the OrderedDitherer.BlueNoise property and the RandomNoiseDitherer class.
See the Remarks section for details and some examples.
Public classOptimizedPaletteQuantizer
Represents a quantizer that can generate an optimized set of colors best matching to the original image. Use the static methods to retrieve an instance. For using predefined colors see the PredefinedColorsQuantizer class.
See the Remarks section for details and results comparison.
Public classOrderedDitherer
Provides an IDitherer implementation for dithering patterns that are based on an ordered matrix. Use the static properties of this class to use predefined patterns or the constructor to create a custom ordered ditherer.
See the Remarks section for details and some image examples.
Public classPalette
Represents an indexed set of colors and provides efficient color lookup with caching.
See the Remarks section for details.
Public classPredefinedColorsQuantizer
Represents a quantizer with predefined set of colors. Use the static members to retrieve an instance. For using optimized colors for a specific source image see the OptimizedPaletteQuantizer class.
See the Remarks section of the static methods of this class for details and image examples.
Public classRandomNoiseDitherer
Provides an IDitherer implementation for random noise dithering. This class applies a random white noise to the result. For other noise-like ditherers see the OrderedDitherer.BlueNoise property and the InterleavedGradientNoiseDitherer class.
See the Remarks section for details and some examples.
Structures

  StructureDescription
Public structureColor32
Represents the same 32-bit ARGB color as the Color structure does but in a more optimized way for better performance and smaller memory consumption.
Interfaces

  InterfaceDescription
Public interfaceIBitmapData
Represents the raw data of a Bitmap. To obtain a readable or writable instance call the GetReadableBitmapData, GetWritableBitmapData or GetReadWriteBitmapData extension methods on a Bitmap instance.
See the Remarks section of the GetReadWriteBitmapData method for details and examples.
Public interfaceIBitmapDataRow
Represents a single row of the raw data of a Bitmap. Reading or writing actual pixels is available via the derived interfaces of this type.
See the Remarks section of the GetReadWriteBitmapData method for details and examples.
Public interfaceIDitherer
Represents a ditherer that can be used to dither the result of a quantizing session.
For built-in implementations see the OrderedDitherer, ErrorDiffusionDitherer, RandomNoiseDitherer and InterleavedGradientNoiseDitherer classes.
Public interfaceIDitheringSession
Represents a disposable dithering session returned by the IDitherer.Initialize method that is used to dither the result of a quantizing session for a specific IReadableBitmapData source.
Public interfaceIQuantizer
Represents a quantizer that can be used to reduce the number of colors of an image.
For built-in implementations see the PredefinedColorsQuantizer and OptimizedPaletteQuantizer classes.
Public interfaceIQuantizingSession
Represents a disposable quantizing session returned by the IQuantizer.Initialize method that is used to quantize (reduce the colors) of a specific IReadableBitmapData source.
Public interfaceIReadableBitmapData
Provides a fast read-only access to the actual data of a Bitmap. The owner Bitmap can have any PixelFormat.
See the Remarks section of the GetReadWriteBitmapData method for details and examples.
Public interfaceIReadableBitmapDataRow
Provides a fast read-only access to a single row of the actual data of a Bitmap. The owner Bitmap can have any PixelFormat.
See the Remarks section of the GetReadWriteBitmapData method for details and examples.
Public interfaceIReadWriteBitmapData
Provides a fast read-write access to the actual data of a Bitmap. The owner Bitmap can have any PixelFormat.
See the Remarks section of the GetReadWriteBitmapData method for details and examples.
Public interfaceIReadWriteBitmapDataRow
Provides a fast read-write access to a single row of the actual data of a Bitmap. The owner Bitmap can have any PixelFormat.
See the Remarks section of the GetReadWriteBitmapData method for details and examples.
Public interfaceIWritableBitmapData
Provides a fast write-only access to the actual data of a Bitmap. The owner Bitmap can have any PixelFormat.
See the Remarks section of the GetReadWriteBitmapData method for details and examples.
Public interfaceIWritableBitmapDataRow
Provides a fast write-only access to a single row of the actual data of a Bitmap. The owner Bitmap can have any PixelFormat.
See the Remarks section of the GetReadWriteBitmapData method for details and examples.