Gostaria de ajuda para definir uma função a um botão onde ele irar capturar a área de busca (x, y, w, h,) e irar retornar as informações capturara para uma variavel ou local exato do codigo do script como exemplo.
PixelSearch, FoundX, FoundY, 1181, 306, 1353, 333, 0xE8C05E, 0, Fast RGB
se possivel uma função que na hora que estiver selecionando a area fique igual a imagem abaixo.
https://prnt.sc/1tv3vts
Pixelsearch para area
Moderator: Gio
Re: Pixelsearch para area
Boa tarde DiegoSouto.
Gosto de usar um truque simples para selecionar áreas.
No código-exemplo abaixo você pode selecionar uma área segurando o botão do windows no seu teclado, e depois clicando e arrastando com o mouse. Ao soltar o botão do mouse as coordenadas referentes à área selecionada serão salvas em 4 variáveis (Pos_X_1, Pos_X_2, Pos_Y_1 e Pos_Y_2) e exibidas em um tooltip.
Naturalmente você pode facilmente, por exemplo, colocar uma linha de imagesearch posterior ao código (mas antes do return) para que cuide da busca da imagem na área selecionada.
Creio que possa entender sozinho o truque utilizado, mas deixar aqui explicado, nós basicamente criamos uma janela sem bordas, de cor vermelho transparente, com posição fixa no clique e que atualiza seu tamanho conforme o arraste. Quando soltamos o mouse, as posições finais são coletadas e a janela é então destruída (as posições iniciais já são as do clique).
Se quiser, também é possível fazer a área selecionada ser exibida através uma figura mais próxima à da foto, mas neste caso, teríamos que recorrer à GDIP para desenhar os contornos da figura do jeito que quisermos (o que seria mais trabalhoso, mas pode ser feito também). Por ora, prefiro a solução mais simples sempre que a mais complexa não trouxer muitos benefícios
Espero ter ajudado. Se tiver alguma dúvida, basta postar abaixo.
Gosto de usar um truque simples para selecionar áreas.
No código-exemplo abaixo você pode selecionar uma área segurando o botão do windows no seu teclado, e depois clicando e arrastando com o mouse. Ao soltar o botão do mouse as coordenadas referentes à área selecionada serão salvas em 4 variáveis (Pos_X_1, Pos_X_2, Pos_Y_1 e Pos_Y_2) e exibidas em um tooltip.
Code: Select all
#LButton::
CoordMode, Mouse, Screen
While GetKeyState("Lbutton","P")
{
If (PosX = "")
{
MouseGetPos, PosX, PosY
Pos_X_1 := PosX
Pos_Y_1 := PosY
}
MouseGetPos, PosX, PosY
Pos_X_2 := PosX
Pos_Y_2 := PosY
Gui 99: +AlwaysOnTop -Caption +Border +ToolWindow +LastFound
Gui, 99: Color, CC0000
WinSet, Transparent, 100
W := Pos_X_2 - Pos_X_1
H := Pos_Y_2 - Pos_Y_1
Gui, 99: Show, x%Pos_X_1% y%Pos_Y_1% w%W% h%H%
Sleep, 10
}
PosX := ""
PosY := ""
Gui, 99: Destroy
ToolTip, Área selecionada!`nCoordenadas:`nX1 = %Pos_X_1%`nY1 = %Pos_Y_1%`nX2 = %Pos_X_2%`nY2 = %Pos_Y_2%
Return
Naturalmente você pode facilmente, por exemplo, colocar uma linha de imagesearch posterior ao código (mas antes do return) para que cuide da busca da imagem na área selecionada.
Code: Select all
PixelSearch, FoundX, FoundY, %Pos_X_1%, %Pos_Y_1%, %Pos_X_2%, %Pos_Y_2%, 0xE8C05E, 0, Fast RGB
Creio que possa entender sozinho o truque utilizado, mas deixar aqui explicado, nós basicamente criamos uma janela sem bordas, de cor vermelho transparente, com posição fixa no clique e que atualiza seu tamanho conforme o arraste. Quando soltamos o mouse, as posições finais são coletadas e a janela é então destruída (as posições iniciais já são as do clique).
Se quiser, também é possível fazer a área selecionada ser exibida através uma figura mais próxima à da foto, mas neste caso, teríamos que recorrer à GDIP para desenhar os contornos da figura do jeito que quisermos (o que seria mais trabalhoso, mas pode ser feito também). Por ora, prefiro a solução mais simples sempre que a mais complexa não trouxer muitos benefícios
Espero ter ajudado. Se tiver alguma dúvida, basta postar abaixo.
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey