如何使我的python程序更快地截取屏幕截图?

时间:2019-02-21 03:55:05

标签: python python-3.x screenshot python-mss

我一直在研究该脚本,该脚本单击屏幕上某种颜色的像素的任何位置,但是我遇到了一个问题,当我循环执行此操作时需要截图,但在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

1 个答案:

答案 0 :(得分:0)

首先,您应该重写为不要在每次迭代时都实例化新的private final ItemCallback<Alarm > diffCallback = new ItemCallback<Feed>() { @Override public boolean areItemsTheSame(@NonNull Alarm oldItem, @NonNull Alarm newItem) { return oldItem==newItem; } @Override public boolean areContentsTheSame(@NonNull Alarm oldItem, @NonNull Alarm newItem) { return oldItem==newItem; } }; 类,并删除睡眠:

MSS

然后,如评论员所建议的那样,您应该解释要实现的目标,也许您可​​以摆脱PNG的创建并直接使用原始数据。