python实现屏幕截图 - Chen Jian

python

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:\\\')

posted on

2015-12-26 09:34 

Chen Jian 

阅读(24557) 

评论(0) 

编辑 

收藏 

举报

以上是 python实现屏幕截图 - Chen Jian 的全部内容, 来源链接: utcz.com/z/387347.html

回到顶部