Создать BitmapImage из байтового массива

Я создаю байтовый массив с произвольными значениями в нем и хочу преобразовать его в BitmapImage.

    bi = new BitmapImage();
    using (MemoryStream stream = new MemoryStream(data))
    {
      try
      {
        bi.BeginInit();
        bi.CacheOption = BitmapCacheOption.OnLoad;
        bi.StreamSource = stream;
        bi.DecodePixelWidth = width;

        bi.EndInit();

      }
      catch (Exception ex)
      {
        return null;
      }
    }

Этот код дает мне NotSupportedException все время. Как я могу создать BitmapSource из любого байтового массива?

Ответы на вопрос(2)

Ваш ответ на вопрос