在Ram生成参数异常时创建太大的BMP文件

时间:2012-10-18 13:46:29

标签: vb.net bitmap argumentexception

我的代码:

Dim bmp_ As New Bitmap(width, height)


' here is for-loop to fill up bitmap   ( bmp_.SetPixel(x, y, Color.White) )


bmp_.Save("D:\test.bmp", ImageFormat.Bmp)

这对于小文件正常工作,但如果我试试这个:

Dim bmp_ As New Bitmap(30000, 30000)

..然后,我在那一行得到了ArgumentException。

问题:有什么办法,如何创建如此大的bmp文件?

感谢

编辑: 如果位图是1000000 x 1000000怎么办? 是否可以在硬盘上创建BMP文件并按顺序追加数据?

1 个答案:

答案 0 :(得分:1)

如果您使用的是VS 2010,可以尝试通过将这些行添加到visual studio中的“Post Build Events”部分来增加VB可用的内存量:

call "$(DevEnvDir)..\..\vc\vcvarsall.bat" x86
"$(DevEnvDir)..\..\vc\bin\EditBin.exe" "$(TargetPath)"  /LARGEADDRESSAWARE

此过程在此处进一步详细说明:

http://blogs.msdn.com/b/calvin_hsia/archive/2010/09/27/10068359.aspx