public static void Save(this IImage image, Stream stream, IFileFormat imageFormat, IImageEncoderOptions encoderOptions) { IImageEncoder encoder = ImageCodec.FromFileFormat(imageFormat); if (encoder is null) { throw new UnsupportedFileFormatException(); } encoder.Encode(image, stream, encoderOptions); if (stream.CanSeek && encoderOptions.OptimizationMode != ImageOptimizationMode.None) { IImageOptimizer imageOptimizer = ImageOptimizer.FromImageFormat(imageFormat); if (!(imageOptimizer is null)) { stream.Seek(0, SeekOrigin.Begin); imageOptimizer.Optimize(stream, encoderOptions.OptimizationMode); } } }