Hallo,
Ik probeer een programma te maken dat vormen/kleuren op mijn scherm kan herkennen..
Waar ik het bijvoorbeeld voor wil gebruiken is om mijn pc zo'n dartspelletje te laten spelen.. de pc moet zien wanneer het bewegend balkje (dat de dart x/y-positie aangeeft) in het midden is, en dan een muisclick genereren.
Ook wil ik bijvoorbeeld als ik een pinball speel de balpositie kunnen tracken..
nu heb ik een functie
waarmee ik de kleuren van een bepaalde pixel kan bepalen.. zodoende kan ik natuurlijk dingen te weten komen, wanneer ik maar vaak genoeg poll. (Gebruik nu een Timer).
Voor het kunnen volgen van een zwarte bal op een wit veld, zou ik dan zo vaak mogelijk het hele veld checken om de 10 pixels.. (waar dan een zwarte pixel is, is mijn bal)..
Dit werkt allemaal wel aardig, maar toch vraag ik me af of er hier geen betere methoden voor zijn.
Ik hoop dat er mensen ideeen hebben over dit thema!
Ik probeer een programma te maken dat vormen/kleuren op mijn scherm kan herkennen..
Waar ik het bijvoorbeeld voor wil gebruiken is om mijn pc zo'n dartspelletje te laten spelen.. de pc moet zien wanneer het bewegend balkje (dat de dart x/y-positie aangeeft) in het midden is, en dan een muisclick genereren.
Ook wil ik bijvoorbeeld als ik een pinball speel de balpositie kunnen tracken..
nu heb ik een functie
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
| function DesktopColor(const X, Y: Integer): TColor; var c: TCanvas; begin c := TCanvas.Create; try c.Handle := GetWindowDC(GetDesktopWindow); Result := GetPixel(c.Handle, X, Y); finally c.Free; end; end; |
waarmee ik de kleuren van een bepaalde pixel kan bepalen.. zodoende kan ik natuurlijk dingen te weten komen, wanneer ik maar vaak genoeg poll. (Gebruik nu een Timer).
Voor het kunnen volgen van een zwarte bal op een wit veld, zou ik dan zo vaak mogelijk het hele veld checken om de 10 pixels.. (waar dan een zwarte pixel is, is mijn bal)..
Dit werkt allemaal wel aardig, maar toch vraag ik me af of er hier geen betere methoden voor zijn.
Ik hoop dat er mensen ideeen hebben over dit thema!