zoukankan      html  css  js  c++  java
  • python实现屏幕截图

    由于在我的一个程序中想要添加一个截图功能,今天看一下利用Python怎样截图,功能实现都挺简单了,直接上代码

    from PIL import ImageGrab

    im = ImageGrab.grab()

    im.save(addr,'jpeg')

    很简单的几行代码就实现了我要的功能,PIL(Python Image Library)是Python的一个图形库,需要自己下载安装,im = ImageGrab.grab()这行代码实现截图功能,可以带参数,指定要截取图片的坐标位置,不带参数默认全屏截图,im.save(addr,'jpeg')是保存截取的图片,第一个参数是保存路径,第二个参数是图片格式

     

     

    # -*- coding: cp936 -*- 
    import time,Image 
    import os, win32gui, win32ui, win32con, win32api 
    def window_capture(dpath): 
      ''''' 
    截屏函数,调用方法window_capture('d:\') ,参数为指定保存的目录 
    返回图片文件名,文件名格式:日期.jpg 如:2009328224853.jpg 
      '''
      hwnd = 0
      hwndDC = win32gui.GetWindowDC(hwnd)  
      mfcDC=win32ui.CreateDCFromHandle(hwndDC)  
      saveDC=mfcDC.CreateCompatibleDC()  
      saveBitMap = win32ui.CreateBitmap()  
      MoniterDev=win32api.EnumDisplayMonitors(None,None) 
      w = MoniterDev[0][2][2] 
      h = MoniterDev[0][2][3] 
      #print w,h   #图片大小 
      saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)  
      saveDC.SelectObject(saveBitMap)  
      saveDC.BitBlt((0,0),(w, h) , mfcDC, (0,0), win32con.SRCCOPY) 
      cc=time.gmtime() 
      bmpname=str(cc[0])+str(cc[1])+str(cc[2])+str(cc[3]+8)+str(cc[4])+str(cc[5])+'.bmp'
      saveBitMap.SaveBitmapFile(saveDC, bmpname) 
      Image.open(bmpname).save(bmpname[:-4]+".jpg") 
      os.remove(bmpname) 
      jpgname=bmpname[:-4]+'.jpg'
      djpgname=dpath+jpgname 
      copy_command = "move %s %s" % (jpgname, djpgname) 
      os.popen(copy_command) 
      return bmpname[:-4]+'.jpg'
    #调用截屏函数   
    window_capture('d:\')
  • 相关阅读:
    ABAP 程序中的类 沧海
    ABAP类的方法(转载) 沧海
    More than 100 ABAP Interview Faq's(2) 沧海
    SAP and ABAP Memory总结 沧海
    ABAP Frequently Asked Question 沧海
    ABAP System Reports(Additional functions) 沧海
    ABAP Questions Commonly Asked 1 沧海
    ABAP Tips and Tricks 沧海
    ABAP System Fields 沧海
    ABAP 面试问题及答案(一):数据库更新及更改 SAP Standard (转) 沧海
  • 原文地址:https://www.cnblogs.com/chjbbs/p/5077587.html
Copyright © 2011-2022 走看看