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.
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.
You 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.
An 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.
GDI+ 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.
When 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.