Этот код был вставлен в обработчик кнопки.
Выдает разные ошибки, если я компилирую проект для x64 или x86
x64: исключение переполнения не обрабатывается
Объяснение: Арифметическая операция вызвала переполнение.
x86: дает область растрового изображения уже заблокирована.
Предложение. Если вы используете объект Graphics после метода GetHdc, вызовите метод ReleaseHdc
Код:
Bitmap bitmap1 = new Bitmap(10, 10);
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
EncoderParameters paramList = bitmap1.GetEncoderParameterList(jpgEncoder.Clsid);
EncoderParameter[] encParams = paramList.Param;
StringBuilder paramInfo = new StringBuilder();
for (int i = 0; i < encParams.Length; i++)
{
paramInfo.Append("Param " + i + " holds " + encParams[i].NumberOfValues +
" items of type " +
encParams[i].ValueType + "\r\n" + "Guid category: " + encParams[i].Encoder.Guid + "\r\n");
}
Ошибка ввода строки:
EncoderParameters paramList = bitmap1.GetEncoderParameterList(jpgEncoder.Clsid);
Есть идеи?