Сохраните JPG в прогрессивном формате

<Extension()> _
Public Sub Save(ByVal b As Bitmap, ByVal FileName As String, ByVal Compression As Long, ByVal MimeType As String)
    Dim Params As EncoderParameters = New EncoderParameters(2)
    Dim CodecInfo As ImageCodecInfo = GetEncoderInfo(MimeType)

    Params.Param(0) = New EncoderParameter(Encoder.RenderMethod, EncoderValue.RenderProgressive)
    Params.Param(1) = New EncoderParameter(Encoder.Quality, Compression)

    b.Save(FileName, CodecInfo, Params)
End Sub

это не работает. Не сохраненный как прогрессивный. Как я могу сделать это и возможно также указать номер передач.??

7
задан Tomasi 15 February 2010 в 17:28
поделиться

1 ответ

Насколько я могу судить, это не поддерживается. Я пробовал код, предложенный здесь и здесь , и пришел к этому коду 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». в документации .

6
ответ дан 7 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: