我最近刚刚发现了GDI+中不同构造函数之间的差异。正在进行:
var bmp = new Bitmap(width, height, pixelFormat);
创建DDB (设备相关位图),而:
var bmp = new Bitmap(someFile);
创建DIB (与设备无关的位图)。这通常并不重要,除非处理非常大的图像( DDB将耗尽内存,并根据机器及其显存的不同大小耗尽内存)。我需要创建一个DIB而不是DDB,但是要指定高度、宽度和像素格式。有谁知道如何在DotNet中做到这一点。另外,有没有关于哪个Bitmap构造器正在创建哪种类型的位图(DIB或DDB)的指南?
发布于 2010-06-10 07:18:30
执行此操作的最佳方法似乎是自己分配内存,然后使用以下命令创建位图:
var bmp = new Bitmap(width, height, stride, format, scan0)这样,您就可以创建巨大的位图,而不会出现内存不足错误。
https://stackoverflow.com/questions/2149483
复制相似问题