我一直在研究该脚本,该脚本单击屏幕上某种颜色的像素的任何位置,但是我遇到了一个问题,当我循环执行此操作时,它会截取屏幕截图,但是在30秒的循环中应该仅截取12个该程序需要600点才能非常快速地点击像素。我迷路了
xx = 0
while xx <= 600:
with mss.mss() as sct:
region = {'top': 0, 'left': 0, 'width': 1920, 'height': 1080}
imgg = sct.grab(region)
img1 = mss.tools.to_png(imgg.rgb,imgg.size,output="C:/Users/yaahy/Desktop/scrnshotoutput/imageforgamehack"+str(xx)+".png")
imgname = "C:/Users/yaahy/Desktop/scrnshotoutput/imageforgamehack"+str(xx)+".png"
pxls = find_yellow_pixels(imgname)
pyautogui.click(pxls[0],pxls[1])
time.sleep(.05)
xx = xx + 1
最佳答案
首先,您应该重写为不要在每次迭代时都实例化新的MSS
类,并删除sleep:
import mss
with mss.mss() as sct:
region = {'top': 0, 'left': 0, 'width': 1920, 'height': 1080}
for xx in range(600):
imgname = "C:/Users/yaahy/Desktop/scrnshotoutput/imageforgamehack" + str(xx) + ".png"
imgg = sct.grab(region)
img1 = mss.tools.to_png(imgg.rgb, imgg.size, output=imgname)
# pxls = find_yellow_pixels(imgname)
# pyautogui.click(pxls[0],pxls[1])
然后,如评论员所建议的那样,您应该解释您想要实现的目标,也许您可以摆脱PNG的创建并直接使用原始数据。
关于python - 如何使我的python程序更快地截取屏幕截图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54799005/