• Python 截屏


    原文:https://www.cnblogs.com/wutaotaosin/p/9719292.html

    pip安装库:

      pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32

    代码:

    import time
    import win32gui, win32ui, win32con, win32api
    
    
    # 原文:https://www.cnblogs.com/wutaotaosin/p/9719292.html
    
    def window_capture(filename):
      hwnd = 0 # 窗口的编号,0号表示当前活跃窗口
      # 根据窗口句柄获取窗口的设备上下文DC(Divice Context)
      hwndDC = win32gui.GetWindowDC(hwnd)
      # 根据窗口的DC获取mfcDC
      mfcDC = win32ui.CreateDCFromHandle(hwndDC)
      # mfcDC创建可兼容的DC
      saveDC = mfcDC.CreateCompatibleDC()
      # 创建bigmap准备保存图片
      saveBitMap = win32ui.CreateBitmap()
      # 获取监控器信息
      MoniterDev = win32api.EnumDisplayMonitors(None, None)
      w = MoniterDev[0][2][2]
      h = MoniterDev[0][2][3]
      # print w,h #图片大小
      # 为bitmap开辟空间
      saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)
      # 高度saveDC,将截图保存到saveBitmap中
      saveDC.SelectObject(saveBitMap)
      # 截取从左上角(0,0)长宽为(w,h)的图片
      saveDC.BitBlt((0, 0), (w, h), mfcDC, (0, 0), win32con.SRCCOPY)
      saveBitMap.SaveBitmapFile(saveDC, filename)
    beg = time.time()
    for i in range(10):
      window_capture("haha.jpg")
    end = time.time()
    print(end - beg)
    from PIL import ImageGrab
    im = ImageGrab.grab() #可以添加一个坐标元组进去
    im.save('12.png')

  • 相关阅读:
    Java遍历Map、List、Array
    自签名SSL生成
    oracle_round
    Timestamp_时间戳
    oracle_substr
    eval
    orcale_聚合函数
    oracle_decode
    js_JSON
    sql拼接
  • 原文地址:https://www.cnblogs.com/guxingy/p/12200491.html
Copyright © 2020-2023  润新知