一尘不染

C#“参数无效。” 创建新的位图

c#

如果尝试创建大于19000 px的位图,则会出现错误:参数无效。我该如何解决?

System.Drawing.Bitmap myimage= new System.Drawing.Bitmap(20000, 20000);

阅读 523

收藏
2020-05-19

共1个答案

一尘不染

请记住,这是您尝试使用该位图分配的大量内存。

请参阅http://social.msdn.microsoft.com/Forums/en-
US/netfxbcl/thread/37684999-62c7-4c41-8167-745a2b486583/

.NET可能拒绝创建同时使用大量连续内存的映像。

稍难阅读,但是此参考资料也有帮助:

http://www.tech-
archive.net/Archive/DotNet/microsoft.public.dotnet.framework.drawing/2005-06/msg00176.html

系统中的每个映像都有由以下公式定义的内存量:

bit-depth * width * height / 8

这意味着4050像素的40800像素的图像将需要超过660 MB的内存。

2020-05-19