Я щедро добавил холст в растровое изображение, используя класс WritebleBitmap, а затем пытаюсь использовать растровое изображение для сохранения изображения в клиентской системе через SaveFileDilogue. Я использую метод кодирования изображений FluxJpegCore, где мы используем растровые массивы для генерации изображения по пикселям.
Ниже приведена часть кода, которая выполняет эту работу.
byte[][,] raster = new byte[bands][,];
for (int i = 0; i < bands; i++)
{
raster[i] = new byte[width, height];
}
for (int row = 0; row < height; row++)
{
for (int column = 0; column < width; column++)
{
int pixel = bitmap.Pixels[width * row + column];
raster[0][column, row] = (byte)(pixel >> 16);
raster[1][column, row] = (byte)(pixel >> 8);
raster[2][column, row] = (byte)pixel;
}
}
Все идет нормально с сохранением изображения, однако, когда я масштабирую изображение, а затем печатаю его, код завершается ошибкой в строке "raster [i] = new byte [width, height];". Ошибка системной памяти. Может кто-нибудь помочь мне найти решение по этому вопросу?