/ / .Net - Argumentausnahme beim Versuch, Bitmap in JPEG zu konvertieren - .net, Bildverarbeitung, JPEG

.Net - Argument Ausnahme beim Konvertieren von Bitmap in JPEG -. NET, Bildverarbeitung, JPEG

Daher habe ich versucht, ein Bitmap-Bild im Code in JPEG umzuwandeln, und es wird immer wieder der folgende Fehler angezeigt:

Eine nicht behandelte Ausnahme vom Typ "System.ArgumentException" ist in aufgetreten System.Drawing.dll

Zusätzliche Informationen: Parameter ist ungültig.

Hier ist der zugehörige Code. Alle Pfade sind korrekt und der EncoderParameter ist nicht null. Woran könnte das liegen?

ImageCodecInfo codecInfo = null;

foreach( ImageCodecInfo codec in  ImageCodecInfo.GetImageEncoders())
{
if (codec.MimeType != "image/jpeg") { continue; }

codecInfo = codec;
break;
}

EncoderParameters encoderParameters = new EncoderParameters();
encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 85);
using (Bitmap bitmapToConvert = new Bitmap(filePathIn))
{
bitmapToConvert.Save(filePathOut, codecInfo, encoderParameters);
}

Antworten:

4 für die Antwort № 1

Do!

encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 85);

Sollte sein:

encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 85L);
//OR
encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, (long)85);

In IL bleibt 85 als int, und das GDI - Backend mag das nicht, es will eine lange. Ich hasse nicht beschreibende Ausnahmen.

Na ja, danke für die Zeit aller.