我该如何解决 GDI+ 中出现一般性错误。在 VB.Net?

How could I resolve A generic error occurred in GDI+. in VB.Net?

当 class 中的图像字段 属性 设置为图片框中我的数据库中相同图像的图像原始格式时,它总是抛出此异常。相比之下,如果图片框中的图像已从我的本地 PC 目录更新为 select,则更新功能正常。

下面是我的代码:

Try
   With mEmployee
     If Miscellaneous.GetImageName(ofdPhoto).ToLower = "No_Photo.jpg".ToLower Then
        .Image = Nothing
     Else
         Dim stream As New MemoryStream
         pbImage.Image.Save(stream, pbImage.Image.RawFormat)
         .Image = stream.GetBuffer()
     End If
  End With
Catch ex As Exception
   MessageBox.Show(ex.Message)
End Try

现在一切都解决了。此 GDI+ 一般错误由图片框本身引起。实际上,当我将记录与数据库中的图像绑定并更新该记录而不更新 PictureBox 中的图像时,图像字段已使用框中的旧 byte() 数据设置,这导致了错误。

为了解决这个问题,我声明了一个 byte() 类型的变量来存储数据库中的临时图像 byte() 数据,并且在更新时,如果图像没有被更改,它将被设置为来自那个变量。 这是我解决所有问题的代码:

Try
            If Miscellaneous.GetImageName(ofdPhoto).ToLower = "No_Photo.jpg".ToLower Then
                .Image = Nothing
            Else
                If isImageChanged = True Then
                    Dim stream As New MemoryStream
                    pbImage.Image.Save(stream, pbImage.Image.RawFormat)
                    .Image = stream.GetBuffer()
                    isImageChanged = False
                ElseIf isRemoveImage = True Then
                    .Image = Nothing
                    isRemoveImage = False
                Else
                    .Image = tempImage
                End If
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try