Как вычислить необходимый размер буфера для метода WriteableBitmap.WritePixels?
Я использую перегрузку с четырьмя параметрами, первый - Int32Rect, следующий - массив байтов, содержащий номера RGBA для цвета, третий - это шаг (который является шириной моей записываемой растровой карты, умноженной на биты на пиксель, деленный на 8), а последний - это буфер (называемый смещением в Intellisense).
Я получаю Размер буфера не достаточен Ошибка выполнения в приведенном ниже коде:
byte[] colourData = { 0, 0, 0, 0 };
var xCoordinate = 1;
var yCoordinate = 1;
var width = 2;
var height = 2;
var rect = new Int32Rect(xCoordinate, yCoordinate, width, height);
var writeableBitmap = new WriteableBitmap(MyImage.Source as BitmapSource);
var stride = width*writeableBitmap.Format.BitsPerPixel/8;
writeableBitmap.WritePixels(rect, colourData, stride,0);
Какую формулу мне нужно использовать для вычисления значения буфера, необходимого в приведенном выше коде?