Я делаю бота, который должен определять цвета пикселей в нескольких точках каждые 100 мс. Единственный способ, который я нашел, - это сохранить текущий экран в растровое изображение и получить эти цвета из этого растрового изображения. Но кажется, что каждые 100 мс он создает новое растровое изображение и не избавляется от предыдущего, что постоянно увеличивает использование оперативной памяти!
Вот мой код:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Dim Img As New Bitmap(1280, 720)
Dim ImgGraphics As Graphics = Graphics.FromImage(Img)
ImgGraphics.CopyFromScreen(0, 0, 0, 0, Img.Size)
Dim Slot1Selec As Color = Img.GetPixel(1158, 572)
If Slot1Selec.ToArgb = -65906 Then
Label2.Text = ("1")
Else : Label2.Text = ("0")
End If
Dim Slot1Life As Color = Img.GetPixel(1148, 559)
If Slot1Life.ToArgb = -13052710 Then
Label3.Text = ("1")
Else : Label3.Text = ("0")
End If
И я проверяю 16 цветов пикселей, здесь только 2, но это то же самое после Slot2Selec, Slot2life, Slot3Selec, Slot3Life и т. д.
Пожалуйста помоги ! Еще один способ получить цвет пикселя без создания этих глупых растровых изображений очень помог бы, спасибо :)