Мне нужно создать растровое изображение, в котором размер изображения может превышать 2 ГБ.Я использую:
var myPalette = new BitmapPalette(colors);
var buffer = new byte[image.ImageHeight * image.ImageWidth];
Вышеуказанные строки выдают исключение Array dimensions exceeded supported range
, когда image.ImageHeight * image.ImageWidth
пересекает 2 ГБ, как и ожидалось.Но есть ли какое-либо решение, чтобы я мог получить растровое изображение ожидаемого размера без потери данных?В настоящее время я генерирую растровое изображение, как показано ниже.
var colors = new List<Color> { Colors.Black, Colors.Yellow, Colors.Blue, Colors.Red, Colors.LimeGreen,Colors.Aqua};
var bitMapImage = BitmapSource.Create(width, height, 96, 96, PixelFormats.Indexed8, myPalette, buffer, width);