При создании BitmapSource с нуля в WPF необходимо учитывать несколько параметров. В этом случае похоже, что вы ищете решение для очень конкретного изображения. В вашей ситуации я обычно использую вспомогательный класс, который инкапсулирует все эти параметры и предоставляет простой подход для изменения пикселей матричным способом в случае необходимости Наконец, способ, которым я использую для получения растрового изображения, таков:
BitmapSource.Create(Width, Height, DpiX, DpiY, PixelFormat, null, PixelData, Stride);
Вы можете посмотреть весь класс здесь .