pyautogui 모듈로 Python3.5로 작성된 스크립트를 사용하여 화면의 영역을 기록한 다음 네 사분면으로 나누십시오. 후속 스크립트가 실행되는 동안 검색 속도를 높이기 위해이 작업을 수행하고 있습니다. 내가 사분면을 얻고 있는지 테스트하기 위해 getQuad1 함수에서 screenshot 명령을 호출합니다. 그것이 실행되면, 그것은 내가 지정한 모든 사분면뿐만 아니라 전체 화면을 얻습니다.pyautogui 영역 지정시 전체 화면 찍기
나는 나의 대수학을 오염 시키거나 그것이 작동하는 모듈인지 확실하지 않습니다.
import pyautogui
def areaSetup(dimTop, dimBot):
workSpace = getWorkSpace(dimTop , dimBot)
W, H, Hh, Wh = getWaHWorkSpace(workSpace)
quad1 = getQuad1(workSpace,W, H, Hh, Wh)
quad2 = getQuad2(workSpace,W, H, Hh, Wh)
quad3 = getQuad3(workSpace,W, H, Hh, Wh)
quad4 = getQuad4(workSpace,W, H, Hh, Wh)
return workSpace, quad1, quad2, quad3, quad4
def getWorkSpace(browTopLeft, browBotRight):# gets the full area of workspace
top = pyautogui.locateOnScreen(browTopLeft , grayscale=True)
while top is None:
top = pyautogui.locateOnScreen(browTopLeft , grayscale=True)
print (top)
bottom = pyautogui.locateOnScreen(browBotRight , grayscale=True)
while bottom is None:
bottom = pyautogui.locateOnScreen(browBotRight , grayscale=True)
print (bottom)
x1, y1, h1, w1 = top
x2, y2, h2, w2 = bottom
#x2 = x2+w2
#y2 = y2+h2
print ("initial print" , x1, y1, x2, y2)
workSpace = x1, y1, x2, y2
print ("Workspace" , workSpace)
return workSpace
def getWaHWorkSpace(workSpace):
x1, y1, x2, y2 = workSpace #break it into four parts again
W = int(x2 - x1) #get the height
H = int(y2 - y1) #get the width
Hh = int(0.5 * H) #get mid point of height
Wh = int(0.5 * W) #get mid point of width
print ("W and H" , W, H, Hh, Wh)
return W, H, Hh, Wh
def getQuad1(workSpace,W, H, Hh, Wh): #North West Quad
x1, y1, x2, y2 = workSpace #break it into four parts again
q1x1 = int(x1)
q1y1 = int(y1)
q1y2 = int(y1+Hh)
q1x2 = int(x1+Wh)
quad1 = q1x1, q1y1, Wh, Hh
print("quad1", quad1)
pyautogui.screenshot('quad1.png' , region=quad1)#SCREENSHOT TEST
return quad1
은 일반적으로 (이것은 브라우저 형태의 바이올린 설계) 브라우저 창의 왼쪽 상단 모서리와 같은 윈도우의 오른쪽 하단 모서리로 실행됩니다 areaSetup. getWorkSpace가 실행되고 전체 workSpace 영역을 가져옵니다. 기본적으로 브라우저 창의 크기입니다. 그런 다음 getWaHWorkSpace라는 스크립트가 있으며,이 스크립트는 이후 사용을 위해 각각의 너비, 높이 및 반을 계산합니다.
그런 다음 getQuad1이라는 함수가 있는데,이 함수는 화면의 왼쪽 상단 사분면을 지정하는 데 필요한 수학을 수행합니다. 다른 사분면을 얻는 세 가지 함수가 있습니다.이 함수는 사용 된 변수에 대한 getQuad1 함수 저장과 동일합니다.
이 문제에 대한 조언이나 생각은 충분히 감사하겠습니다.