zoukankan      html  css  js  c++  java
  • python_屏幕截图_区域截图_快捷键

    import time,io
    from PIL import ImageGrab, Image
    import win32clipboard,win32con
    from pynput import keyboard, mouse
    
    folderpath="D:/小姐姐截图/"
    
    def on_release(key):
      if key == keyboard.Key.print_screen:
        screenRegion()
    
    
    # 区域截图left, upper, right, lower
    def screenRegion():
      try:
        left, top = 34, 54
        width, height = 375, 667  # iphone6
        bbox = (left, top, left + width, top + height)
        img = ImageGrab.grab(bbox)
        newfilename = "{}{}.jpg".format(folderpath,int(time.time() * 1000))
        img.save(newfilename)
        
        # 将图片转换为字节流
        output = io.BytesIO()
        img.convert("RGB").save(output, "BMP")
        data = output.getvalue()[14:]
        setClipboard(data)
        print("screen saved!")
      except Exception as e:
        print("error:",e)
    
    
    # 往剪贴板中放入图片
    def setClipboard(data):
      win32clipboard.OpenClipboard()  # 打开剪贴板
      win32clipboard.EmptyClipboard()  # 先清空剪贴板
      win32clipboard.SetClipboardData(win32con.CF_DIB, data)  # 将图片放入剪贴板
      win32clipboard.CloseClipboard()
    
    if __name__ == '__main__':
      listener = keyboard.Listener(on_release=on_release)
      listener.start()
      listener.join()
  • 相关阅读:
    Vscode 小白使用介绍
    Vue之父组件向子组件传递方法
    Vue之父组件向子组件传值
    Vue之组件切换
    Vue中组件的data和methods
    Vue之创建组件
    Vue生命周期代码示例
    Vue生命周期示例图
    inline、block和inline-block的区别
    系统测试测试过程
  • 原文地址:https://www.cnblogs.com/enumx/p/12364889.html
Copyright © 2011-2022 走看看