做图片转换时 使用memorystream出现内存溢出

L13843199721 2012-12-27 03:58:12

Function DJVUChange(ByVal DJVUFileAdd As String, ByVal ChangeType As Integer, ByVal OutputFileAdd As String) As Integer

Dim ImagECD As BmpBitmapEncoder
Dim imagetype = System.Drawing.Imaging.ImageFormat.Jpeg
Dim ImageFrame As BitmapFrame
Dim ImagDCD As BitmapDecoder = BitmapDecoder.Create(New Uri(DJVUFileAdd, UriKind.Relative), BitmapCreateOptions.None, BitmapCacheOption.Default)

Dim JPEGOutputFileAdd As String
Dim LastName As String = ""

If ChangeType = 1 Then

LastName = Microsoft.VisualBasic.Strings.Right(OutputFileAdd, OutputFileAdd.Length - OutputFileAdd.LastIndexOf("."))
JPEGOutputFileAdd = Microsoft.VisualBasic.Strings.Left(OutputFileAdd, OutputFileAdd.LastIndexOf("."))

Else

JPEGOutputFileAdd = MidImageURL

End If

Dim no As Integer = 12

For no = 0 To ImagDCD.Frames.Count - 1

Using stream As MemoryStream = New MemoryStream
'Using stream As FileStream = New FileStream("123", FileMode.Create)

ImagECD = New BmpBitmapEncoder

ImageFrame = ImagDCD.Frames(no)

ImagECD.Frames.Add(ImageFrame)

ImagECD.Save(stream)

MsgBox(no)

Using Image As System.Drawing.Image = System.Drawing.Image.FromStream(stream)
'Using Image As System.Drawing.Image = System.Drawing.Image.FromFile("123")
Image.Save(JPEGOutputFileAdd & "(" & (no + 1) & "-" & ImagDCD.Frames.Count & ")" & LastName, imagetype)

End Using

End Using

Next

请问怎么解决啊?
...全文
264 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧