【发布时间】:2011-09-16 07:49:39
【问题描述】:
我在处理大图像时遇到了一个奇怪的问题(大小约为 48 mb,Tiff 文件有 175 页。)。现在,当我尝试将 Imagefile 转换为位图并进行一些操作时,系统会随机抛出“Out of memory exception”
下面是我的代码 sn-p。我在“ pages = New Bitmap(lorigionalFile) ”行中(随机)收到错误,其中 LoriginalFile 属于 ImageType 而 Page 属于 Bitmap。
所以请指导我如何消除此类错误或停止内存泄漏。
Dim lorigionalFile As System.Drawing.Image
Dim SaveEncodeParam As EncoderParameter 'Encoder parameter to create multi page image
Dim EncoderParams As EncoderParameters = New EncoderParameters(1) 'Encoder parameter Array
Dim pages As Bitmap 'Used to save image page
Dim NextPage As Bitmap 'Used to save next image page
Dim PageNumber As Integer
Lfr = File.Open(FileName, FileMode.Open, FileAccess.ReadWrite)
lorigionalFile = System.Drawing.Image.FromStream(Lfr)
''Get number of page count in image
PageNumber = getPageNumber(lorigionalFile)
'set first page as active frame
cintPagenumber = PageNumber
'loop to every page of attached document
For i As Integer = 0 To PageNumber - 1
'set active from as per loop variable
lorigionalFile.SelectActiveFrame(FrameDimension.Page, i)
'Will get errow in below line(randomly), when there are other programs running in background
pages = New Bitmap(lorigionalFile)
'image store in Image
CalImageContainer.Add(pages)
'make a copy on image container
CalImageContainerCopy.Add(pages)
Next
Lfr.Close()
End Try
谢谢
Pratik vohera
【问题讨论】:
标签: vb.net image memory-leaks bitmap