【发布时间】:2016-06-12 01:17:06
【问题描述】:
我收到了这个奇怪的错误 -
“参数无效”
在处理图像时。我正在创建很多很多图像 - 一次最多 50 个。我不清楚这个错误可能是什么。记忆?我在完成计算后处理位图。任何见解都会有所帮助。谢谢。
Private Async Function TakePhoto(ByVal keyword As String) As task
Await Task.Delay(WaitMs)
'System.Threading.Thread.Sleep(WaitMs)
Try
My.Computer.Audio.Play(Directory.GetCurrentDirectory + "\" + "iphone_camera.wav")
Dim pic = New Bitmap(WebKitBrowser1.Width, WebKitBrowser1.Height)
WebKitBrowser1.DrawToBitmap(pic, New Rectangle(0, 0, pic.Width, pic.Height))
Dim fileName = Directory.GetCurrentDirectory + "\" + "test_ss.bmp"
Dim CropRect As New Rectangle(240, 190, 1000, 2800)
Dim OriginalImage1 = Image.FromFile(fileName)
Dim CropImage1 = New Bitmap(CropRect.Width, CropRect.Height)
Using grp = Graphics.FromImage(CropImage1)
grp.DrawImage(OriginalImage1, New Rectangle(0, 0, CropRect.Width, CropRect.Height), CropRect, GraphicsUnit.Pixel)
OriginalImage1.Dispose()
CropImage1.Save(fileName)
CropImage1.Dispose()
End Using
fileName = Directory.GetCurrentDirectory + "\" + "test_ss.bmp"
CropRect = New Rectangle(0, 0, 1000, 1400)
Dim OriginalImage2 = Image.FromFile(fileName)
Dim CropImage2 = New Bitmap(CropRect.Width, CropRect.Height)
Using grp = Graphics.FromImage(CropImage2)
grp.DrawImage(OriginalImage2, New Rectangle(0, 0, CropRect.Width, CropRect.Height), CropRect, GraphicsUnit.Pixel)
OriginalImage2.Dispose()
'CropImage2.Save(Directory.GetCurrentDirectory + "\" + keyword + "_" + "test_ss_top.bmp")
CropImage2.Save(Directory.GetCurrentDirectory + "\" + "test_ss_top.bmp")
CropImage2.Dispose()
End Using
fileName = Directory.GetCurrentDirectory + "\" + "test_ss.bmp"
CropRect = New Rectangle(0, 1401, 1000, 1330)
Dim OriginalImage3 = Image.FromFile(fileName)
Dim CropImage3 = New Bitmap(CropRect.Width, CropRect.Height)
Using grp = Graphics.FromImage(CropImage3)
grp.DrawImage(OriginalImage3, New Rectangle(0, 0, CropRect.Width, CropRect.Height), CropRect, GraphicsUnit.Pixel)
OriginalImage3.Dispose()
'CropImage3.Save(Directory.GetCurrentDirectory + "\" + keyword + "_" + "test_ss_bottom.bmp")
CropImage3.Save(Directory.GetCurrentDirectory + "\" + "test_ss_bottom.bmp")
CropImage3.Dispose()
End Using
Catch ex As Exception
Dim err = ex.Message
End Try
End Function
【问题讨论】:
-
您是否尝试过调试并单步执行代码以缩小引发错误的确切位置?
-
我可以试试,但问题是程序运行了一段时间——比如 40 张左右的图像——然后突然出现这个错误,所以很难一步一步通过,因为你永远不知道错误什么时候会出现.有什么建议吗?
-
我之前看到过这个...我不确定我是否理解它为什么会起作用...让我再试一次...
-
我在下面看到了。我有话要补充。您需要学习调试自己的代码,而不是要求别人为您调试。您有能力比我们更好地调试您的代码,因为您可以使用所有这些代码。如果您不能将其隔离到特定区域,期望我们这样做是不合理的。
标签: vb.net image runtime-error