AutoHotKey ImageSearch Bild zu klein?
Hallo,
Ich habe das script:
F::
MouseGetPos, xpos, ypos
ImageSearch, BonesX, BonesY, 0, 0, A_ScreenHeight, A_ScreenWidth, Bones.png
if(ErrorLevel = 2)
{
MsgBox, not found
}
else if(ErrorLevel = 1)
{
MsgBox, not found
}
else if(ErrorLevel = 0)
{
MouseMove, %BonesX%, %BonesY%
Click
MouseMove, %xpos%, %ypos%
}
return
und das funktionier auch bei großen Bildern aber bei kleinen, wie diesen, nicht:
gibt es da irgend einen Trick, dass es auch für kleinere geht?
vielen Dank im voraus!
1 Antwort
Die Größe des Bildes ist egal. Meistens liegt das Problem darin, dass das Quellbild (auf deinem Bildschirm) nicht exakt mit dem Suchbild übereinstimmt.
Manchmal liegt es an dem Hintergrund, manchmal an der Schattierungen im Bild welches teilweise transparent ist und somit einige Pixel nicht immer die gleiche Farbe haben.
Falls er andere Bilder findet und dieses Suchbild nicht, dann könntest du versuchen das Suchbild noch weiter zu verkleinern, bis er es findet. Besteht natürlich das Risiko, dass er beim ganz kleinen Suchbild (mit wenigen Pixeln) mehr als nur eine Stelle findet, da wahrscheinlich dieses Muster mehrfach auf dem Bildschirm gibt.
Falls du dich mit Bildbearbeitungsprogrammen auskennst (z.B. geht auch die Freeware "Paint.NET"), dann könntest erneut ein Screenshot machen von dem Quellbild, welches AHK nicht findet, dieses über das Suchbild legen und die nur Differenzen anzeigen lassen. Damit könnte man rausfinden welche Pixeln sich ändern.