Dlaczego BitmapSource.Create rzuca wyjątek ArgumentException?

Próbuję uzyskać bitmapę utworzoną z surowych danych do wyświetlenia w WPF, używając obrazu i źródła BitmapSource:

Int32[] data = new Int32[RenderHeight * RenderWidth];

for (Int32 i = 0; i < RenderHeight; i++)
{
    for (Int32 j = 0; j < RenderWidth; j++)
    {
        Int32 index = j + (i * RenderHeight);

        if (i + j % 2 == 0)
            data[index] = 0xFF0000;
        else
            data[index] = 0x00FF00;
    }
}

BitmapSource source = BitmapSource.Create(RenderWidth, RenderHeight, 96.0, 96.0, PixelFormats.Bgr32, null, data, 0);

RenderImage.Source = source;

Jednak wywołanie BitmapSource.Create zgłasza wyjątek ArgumentException, mówiąc „Wartość nie mieści się w oczekiwanym zakresie”. Czy nie w ten sposób to zrobić? Czy właściwie nie dzwonię?

questionAnswers(1)

yourAnswerToTheQuestion