创建一个位图图像,其中数组的像素大于2GB

时间:2018-11-26 13:52:16

标签: c# bitmapsource

我需要创建一个位图,其中图像的大小可以超过2GB。我使用:

var myPalette = new BitmapPalette(colors);
var buffer = new byte[image.ImageHeight * image.ImageWidth];

Array dimensions exceeded supported range超出预期的2GB时,上述几行将引发异常image.ImageHeight * image.ImageWidth。但是,有什么解决方案可以使我仍能获得预期大小的位图图像而不会丢失任何数据吗?目前,我正在生成位图,如下所示。

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

0 个答案:

没有答案