In fact, the Save method does much more than just save an image in different formats. An overloaded Save method can take an argument of type EncoderParameters, which represents an encoder. An encoder is responsible for converting a file from one format to another, and a decoder reverses it. The encoder is responsible for saving an image to a format defined by codec parameters.
Two forms of the Save method with EncoderParameters are
public void Save(Stream, ImageCodecInfo, ...