Obliczanie wymaganego rozmiaru bufora dla metody WriteableBitmap.WritePixels

Jak obliczyć wymagany rozmiar bufora dla metody WriteableBitmap.WritePixels?

Używam przeciążenia przyjmującego cztery parametry, pierwszy to Int32Rect, następny to tablica bajtów zawierająca numery RGBA dla koloru, trzecia to krok (czyli szerokość mojej zapisywalnej bitmapy pomnożonej przez podzielone bity na piksel o 8), a ostatnim jest bufor (określany jako offset w Intellisense).

DostajęRozmiar bufora jest niewystarczający błąd wykonania w poniższym kodzie:

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);

Jaka jest formuła, której muszę użyć, aby obliczyć wymaganą wartość bufora w powyższym kodzie?

questionAnswers(6)

yourAnswerToTheQuestion