Насколько я могу судить, это не поддерживается. Я попробовал код, предложенный здесь и здесь и пришел к этому коду C #:
using (Image source = Image.FromFile(@"D:\temp\test2.jpg")) {
ImageCodecInfo codec = ImageCodecInfo.GetImageEncoders().First(c => c.MimeType == "image/jpeg");
EncoderParameters parameters = new EncoderParameters(3);
parameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.ScanMethod, (int)EncoderValue.ScanMethodInterlaced);
parameters.Param[2] = new EncoderParameter(System.Drawing.Imaging.Encoder.RenderMethod, (int)EncoderValue.RenderProgressive);
source.Save(@"D:\temp\saved.jpg", codec, parameters);
}
При установке чересстрочного и прогрессивного режимов сохраняется обычный базовый формат JPEG. Я пробовал любую комбинацию настроек и их альтернативных настроек (не чересстрочные и не прогрессивные), и не видел никакой разницы в результирующем файле изображения.
Я не нашел ни одного ответа, который бы сказал, что им действительно удалось сохранить прогрессивный JPEG в .NET.
Оба значения параметров ScanMethodInterlaced
и RenderProgressive
описаны только как «Не используется в GDI + версии 1.0». в
документация .