Исключение в BitmapImage.EndInit () - PullRequest
0 голосов
/ 01 июля 2019

Я использую код ниже в моем приложении WPF для рендеринга кадров.Проблема в том, что он выбрасывает ниже исключения часто, но не всегда.

"Первое случайное исключение типа 'System.NotSupportedException' произошло в PresentationCore.dll

Дополнительная информация: формат пикселей не поддерживается."

Здесь я пытаюсь создатьОбъект WPF BitmapImage для данного файла изображения (* .PNG)

public WPFBitmap(String imgFilePathInPC)
{
  if (File.Exists(imgFilePathInPC))
  {
    BitmapImage bitmap = new BitmapImage();
    bitmap.BeginInit();
    bitmap.CacheOption = BitmapCacheOption.None;
    bitmap.CreateOptions = BitmapCreateOptions.None;
    bitmap.UriSource = new Uri(imgFilePathInPC, UriKind.RelativeOrAbsolute);
    bitmap.EndInit(); //--> Exception is thrown here

    if (bitmap.Format != PixelFormats.Pbgra32)
    {
      FormatConvertedBitmap fmtCovertedBitmap = new FormatConvertedBitmap();
      fmtCovertedBitmap.BeginInit();
      fmtCovertedBitmap.Source = bitmap;
      fmtCovertedBitmap.DestinationFormat = PixelFormats.Pbgra32;
      fmtCovertedBitmap.EndInit();
      wBitmap = new WriteableBitmap(fmtCovertedBitmap);
    }
    else
    {
      wBitmap = new WriteableBitmap(bitmap);
    }
  }
}

Я ожидал либо исключение, либо выполнение без каких-либо проблем.Но это исключение несколько раз, а не другое.Может ли это быть сделано любым другим способом без проблем?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...