System.Drawing.Imaging Namespace

The System.Drawing.Imaging namespace provides advanced GDI+ imaging functionality. Basic graphics functionality is provided by the System.Drawing namespace.

The Metafile class provides methods for recording and saving metafiles. The Encoder class enables users to extend GDI+ to support any image format. The PropertyItem class provides methods for storing and retrieving metadata in image files.

Caution noteCaution:

Classes within the System.Drawing.Imaging namespace are not supported for use within a Windows or ASP.NET service. Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions.

Public classBitmapDataSpecifies the attributes of a bitmap image. The BitmapData class is used by the LockBits and UnlockBits methods of the Bitmap class. Not inheritable.
Public classColorMapDefines a map for converting colors. Several methods of the ImageAttributes class adjust image colors by using a color-remap table, which is an array of ColorMap structures. Not inheritable.
Public classColorMatrixDefines a 5 x 5 matrix that contains the coordinates for the RGBA space. Several methods of the ImageAttributes class adjust image colors by using a color matrix. This class cannot be inherited.
Public classColorPaletteDefines an array of colors that make up a color palette. The colors are 32-bit ARGB colors. Not inheritable.
Public classEncoderAn Encoder object encapsulates a globally unique identifier (GUID) that identifies the category of an image encoder parameter.
Public classEncoderParameterYou can use an EncoderParameter object to pass an array of values to an image encoder. You can also use an EncoderParameter object to receive a list of possible values supported by a particular parameter of a particular image encoder.
Public classEncoderParametersEncapsulates an array of EncoderParameter objects.
Public classFrameDimensionProvides properties that get the frame dimensions of an image. Not inheritable.
Public classImageAttributesAn ImageAttributes object contains information about how bitmap and metafile colors are manipulated during rendering. An ImageAttributes object maintains several color-adjustment settings, including color-adjustment matrices, grayscale-adjustment matrices, gamma-correction values, color-map tables, and color-threshold values. During rendering, colors can be corrected, darkened, lightened, and removed. To apply such manipulations, initialize an ImageAttributes object and pass the path of that ImageAttributes object (along with the path of an Image) to the DrawImage method.
Public classImageCodecInfoThe ImageCodecInfo class provides the necessary storage members and methods to retrieve all pertinent information about the installed image codecs. Not inheritable.
Public classImageFormatSpecifies the file format of the image. Not inheritable.
Public classMetafileDefines a graphic metafile. A metafile contains records that describe a sequence of graphics operations that can be recorded (constructed) and played back (displayed). This class is not inheritable.
Public classMetafileHeaderContains attributes of an associated Metafile. Not inheritable.
Public classMetaHeaderContains information about a windows-format (WMF) metafile.
Public classPropertyItemEncapsulates a metadata property to be included in an image file. Not inheritable.
Public classWmfPlaceableFileHeaderDefines a placeable metafile. Not inheritable.

Public delegatePlayRecordCallbackThis delegate is not used. For an example of enumerating the records of a metafile, see EnumerateMetafile.

Public enumerationColorAdjustTypeSpecifies which GDI+ objects use color adjustment information.
Public enumerationColorChannelFlagSpecifies individual channels in the CMYK (cyan, magenta, yellow, black) color space. This enumeration is used by the SetOutputChannel methods.
Public enumerationColorMapTypeSpecifies the types of color maps.
Public enumerationColorMatrixFlagSpecifies the types of images and colors that will be affected by the color and grayscale adjustment settings of an ImageAttributes.
Public enumerationColorModeSpecifies two modes for color component values.
Public enumerationEmfPlusRecordTypeSpecifies the methods available for use with a metafile to read and write graphic commands. The members of this enumeration come in three groups:
Public enumerationEmfTypeSpecifies the nature of the records that are placed in an Enhanced Metafile (EMF) file. This enumeration is used by several constructors in the Metafile class.
Public enumerationEncoderParameterValueTypeGDI+ uses image encoders to convert the images stored in Bitmap objects to various file formats. Image encoders are built into GDI+ for the BMP, JPEG, GIF, TIFF, and PNG formats. And encoder is invoked when you call the Save or SaveAdd method of a Bitmap object.
Public enumerationEncoderValueWhen you call the Save or SaveAdd method of an Image object, you can pass parameters to the image encoder by passing an EncoderParameters object to the Save or SaveAdd method. An EncoderParameters object contains an array of EncoderParameter objects. Each EncoderParameter object has an array of values and an Encoder property that specifies the parameter category. The EncoderValue enumeration provides names for some of the values that can be passed to the JPEG and TIFF image encoders.
Public enumerationImageCodecFlagsProvides attributes of an image encoder/decoder (codec).
Public enumerationImageFlagsSpecifies the attributes of the pixel data contained in an Image object. The Flags property returns a member of this enumeration.
Public enumerationImageLockModeSpecifies flags that are passed to the flags parameter of the LockBits method. The LockBits method locks a portion of an image so that you can read or write the pixel data.
Public enumerationMetafileFrameUnitSpecifies the unit of measurement for the rectangle used to size and position a metafile. This is specified during the creation of the Metafile object.
Public enumerationMetafileTypeSpecifies types of metafiles. The MetafileHeader.Type property returns a member of this enumeration.
Public enumerationPaletteFlagsSpecifies the type of color data in the system palette. The data can be color data with alpha, grayscale data only, or halftone data.
Public enumerationPixelFormatSpecifies the format of the color data for each pixel in the image.