[오토핫키] 동일한 이미지 여러개를 동시에 이미지서치
2024. 10. 1. 08:19ㆍ오토핫키 중급
#Persistent
GuiHandles := []
ImageCoordinates := []
return
A:: ; A를 핫키로 지정
SetTimer, ImageSearchLoop, -1
return
ImageSearchLoop:
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen
; 이전에 표시된 모든 시각적 장치 제거
for index, handle in GuiHandles
{
Gui, %handle%:Destroy
}
GuiHandles := []
ImageCoordinates := []
imagePath := "하트.png"
searchX1 := 0
searchY1 := 0
searchX2 := 1920
searchY2 := 1080
Loop
{
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen
ImageSearch, foundX, foundY, searchX1, searchY1, searchX2, searchY2, *10 %imagePath%
if (ErrorLevel != 0)
break ; 더 이상 이미지가 발견되지 않으면 루프 종료
; 이미지가 발견되면 시각적 표시 및 좌표 저장
ShowVisualIndicator(foundX, foundY)
ImageCoordinates.Push({x: foundX, y: foundY})
}
; 결과 표시
totalImages := ImageCoordinates.Length()
resultMessage := "총 찾은 이미지 개수: " . totalImages . "`n`n"
for index, coord in ImageCoordinates
{
resultMessage .= "이미지 " . index . " 좌표: X=" . coord.x . ", Y=" . coord.y . "`n"
}
MsgBox, %resultMessage%
return
ShowVisualIndicator(x, y)
{
Gui, New, +AlwaysOnTop +ToolWindow -Caption, MyGui
Gui, Color, Blue
Gui, Show, x%x% y%y% w15 h15
GuiHandles.Push(A_Gui) ; A_Gui를 사용하여 현재 GUI ID를 저장
}
Esc::ExitApp
오토핫키를 이용하여
동일한 이미지 여러개를 한번에 찾을 수 있는 스크립트이다.
이미 찾아진 이미지 위치에 작은 Gui를 만들어 시각적 효과를 주며 가려준다.
그럼 다음 이미지 서치에서 Gui가 만들어진 위치의 이미지는 서치하지 않게된다.
이런식으로 동일한 이미지를 한번에 찾을 수 있다.
이미 찾아진 이미지의 좌표를 저장하고,
다음 이미지 서치때는 저장된 좌표를 제외하고 이미지 서치를 수행하게하면
Gui를 만들지 않고도 동시에 동일한 이미지를 서치할 수 있다.
더 좋은 아이디어가 있다면 댓글로 알려주세요.
프로그램 개발 의뢰 및 문의
검은망치 카카오톡오픈프로필 : https://open.kakao.com/o/sDUaoCNg
[오토핫키] 검은망치님의 오픈프로필
오토핫키 개발러
open.kakao.com
'오토핫키 중급' 카테고리의 다른 글
[오토핫키] 다른 이미지 여러개를 동시에 이미지서치 (3) | 2024.10.01 |
---|---|
[오토핫키] 비활성 매크로 만들기 1탄 비활성클릭+비활성입력 (0) | 2024.09.11 |