2012-10-27 101 views
0

我有这样的C#代码段:为什么我得到这个内存异常异常?

string fileName = Path.GetTempPath() + "\\temp.bmp"; 
     image.Save(fileName); 
     bmp = (Bitmap)Image.FromFile(fileName); 

在此行: BMP =(位图)Image.FromFile(文件名);

我得到这个异常:

**System.OutOfMemoryException was unhandled 
Message=Out of memory. 
Source=System.Drawing 
StackTrace: 
    at System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement) 
    at System.Drawing.Image.FromFile(String filename) 
    at WindowsFormsApplication1.ShowContoursForm..ctor(Templates samples, IImage image) in C:\Michael work\MyContourAnalysis\WindowsFormsApplication1\ShowContoursForm.cs:line 40 
    at WindowsFormsApplication1.Form1.tsbDislpayContours_Click(Object sender, EventArgs e) in C:\Michael work\MyContourAnalysis\WindowsFormsApplication1\MainForm.cs:line 170 
    at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) 
    at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e) 
    at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) 
    at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) 
    at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) 
    at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) 
    at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) 
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
    at System.Windows.Forms.Control.WndProc(Message& m) 
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m) 
    at System.Windows.Forms.ToolStrip.WndProc(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
    at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 
    at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 
    at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 
    at System.Windows.Forms.Application.Run(Form mainForm) 
    at WindowsFormsApplication1.Program.Main() in C:\Michael work\MyContourAnalysis\WindowsFormsApplication1\Program.cs:line 18 
    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
    at System.Threading.ThreadHelper.ThreadStart() 

的InnerException: **

任何想法,为什么我得到这个例外,我该如何解决?

+0

你的图像文件有多大 –

+0

temp.bmp的大小是多少? – Incognito

+0

bmp是我创建的空对象: Bitmap bmp; – Michael

回答

相关问题