查找内存问题拍摄的照片

时间:2014-03-16 18:41:04

标签: vb.net

为什么当我尝试对超过1,000张图像进行排序时,我的代码会出现这些错误..但它可以很好地处理5张图像。

A first chance exception of type 'System.OutOfMemoryException' occurred in System.Drawing.dll
A first chance exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll

源代码

   Private Function FindDateTaken(ByVal strPicture As String) As String
        FindDateTaken = Nothing
        Try
            Const DATE_TAKEN As Integer = &H9003
            Dim dateTaken As String = ""
            Using img As Image = Image.FromFile(strPicture)
                If img.PropertyIdList.Contains(DATE_TAKEN) Then
                    Dim pitem As Imaging.PropertyItem = img.GetPropertyItem(DATE_TAKEN)
                    dateTaken = System.Text.Encoding.UTF8.GetString(pitem.Value, 0, pitem.Value.Length)
                End If
            End Using
            Return dateTaken
        Catch ex As Exception
            lblError.Text = ex.Message
        End Try
    End Function

1 个答案:

答案 0 :(得分:2)

我很确定你在立即窗口中看到这些消息可能是因为默认情况下你已经设置选项将所有输出窗口文本重定向到工具中的立即窗口 - 选项... - 调试 - 常规。这就是为什么当您在立即窗口中右键单击时,您看不到任何禁用消息的选项。它是输出窗口文本,因此您需要在输出窗口中进行设置。因此,只需打开输出窗口,右键单击并取消选中上下文菜单中的异常消息