Python编写屏幕截图程序方法

时间:2022年12月11日

/

来源:型仔仔

/

编辑:本站小编

收藏本文

下载本文

下面是小编为大家收集的Python编写屏幕截图程序方法,本文共6篇,仅供参考,欢迎大家阅读,希望可以帮助到有需要的朋友。本文原稿由网友“型仔仔”提供。

篇1:Python编写屏幕截图程序方法

这篇文章主要介绍了Python编写屏幕截图程序方法,本文讲解使用开源程序pywin32实现屏幕截图和读取剪切板功能,需要的朋友可以参考下

正在编写的程序用的很多Windows下的操作,查了很多资料,看到剪切板的操作时,想起以前想要做的一个小程序,当时也没做,现在正好顺手写完。

功能:按printscreen键进行截图的时候,数据保存在剪切板里面,很不方便。比如游戏的时候截一个瞬间的图片,但你不能退出游戏保存图片,不方便多次截图。而我也不喜欢安装各种软件,所以准备写这个工具。

思路:一个是自定义快捷键,截图,保存。考虑到很可能各种冲突,取消。然后还是用按printscreen来截图,然后从剪切板读取图片数据,保存。想法是,先监听键盘按键,当printscreen按键时,读取剪切板内容,最后保存图片到指定位置。

1 监听键盘按键:从网上找到资料,安装pywin32,pyhook。链接:sourceforge.net/projects/pyhook/,sourceforge.net/projects/pywin32/。教程:sourceforge.net/apps/mediawiki/pyhook/index.php?title=PyHook_Tutorial。

2 读取剪切板内容,也是需要pywin32.文档在:[Pythonpath]\\Lib\\site-packages\\PyWin32.chm,在线的:timgolden.me.uk/pywin32-docs/

文档中给出的几种格式都不是图片保存的数据,Google搜索“Standard Clipboard Formats”,链接:msdn.microsoft.com/en-us/library/windows/desktop/ff729168%28v=vs.85%29.aspx,所有的格式,主要就是1-17.

好在文档中有一个函数:GetPriorityClipboardFormat,可以返回剪切板中的格式,从一个迭代器中,

于是手动输入找到了,y有时为6,win32con.CF_TIFF,还会为2。当然这里直接用返回数据就行了,不需要知道是什么。

主要用到:

OpenClipboard,CloseClipboard,GetPriorityClipboardFormat,GetClipboardData,这几个函数文档都有介绍,主要说说CloseClipboard,官方文档上讲,不要在剪切板里放置对象后调用CloseClipboard。

3 保存图片:

到这里发现可以直接用PIL模块,直接解决问题,上面太曲折T_T。

可以直接使用ImageGrab.grab 进行抓屏,或者使用ImageGrab.grabclipboard()从剪切板获取图像。

最后变成,监听按键,按下printscreen后,用pil截图保存。T_T 感觉还不如设置快捷键,这样应该少占用内存。

篇2:Python写的Tkinter程序屏幕居中方法

这篇文章主要介绍了Python写的Tkinter程序屏幕居中方法,Tkinter是一个python模块,是一个调用Tcl/Tk的接口,它是一个跨平台的脚本图形界面接口,需要的朋友可以参考下

本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API,

这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没

找到答案,最后没办法,看它的文档,用自己的方法实现了。

方法很土,就是获取初始化的窗体大小和屏幕大小,再通过计算得到大体值。

以下是代码:

代码如下:

#! /usr/bin/python

‘‘‘

File     : screenCenter.pyw

Author   : Mike

E-Mail   : Mike_Zhang@live.com

‘‘‘

from Tkinter import *

rt = Tk()

rt.resizable(False,False)

rt.title(“Screen center”)

rt.update() # update window ,must do

curWidth = rt.winfo_reqwidth() # get current width

curHeight = rt.winfo_height() # get current height

scnWidth,scnHeight = rt.maxsize() # get screen width and height

# now generate configuration information

tmpcnf = ‘%dx%d+%d+%d‘%(curWidth,curHeight,

(scnWidth-curWidth)/2,(scnHeight-curHeight)/2)

rt.geometry(tmpcnf)

rt.mainloop()

篇3:用Python编写简单的定时器的方法

作者:PandaraWen 字体:[增加 减小] 类型:

这篇文章主要介绍了用Python编写简单的定时器的方法,主要用到了Python中的threading模块,需要的朋友可以参考下

下面介绍以threading模块来实现定时器的方法,

首先介绍一个最简单实现:

import threadingdef say_sth(str): print str t = threading.Timer(2.0, say_sth,[str]) t.startif __name__ == ‘__main__‘: timer = threading.Timer(2.0,say_sth,[‘i am here too.‘]) timer.start()

不清楚在某些特殊应用场景下有什么缺陷否。

下面是所要介绍的定时器类的实现:

class Timer(threading.Thread): “”“ very simple but useless timer. ”“” def __init__(self, seconds): self.runTime = seconds threading.Thread.__init__(self) def run(self): time.sleep(self.runTime) print “Buzzzz!! Time‘s up!”class CountDownTimer(Timer): “”“ a timer that can counts down the seconds. ”“” def run(self): counter = self.runTime for sec in range(self.runTime): print counter time.sleep(1.0) counter -= 1 print “Done”class CountDownExec(CountDownTimer): “”“ a timer that execute an action at the end of the timer run. ”“” def __init__(self, seconds, action, args=[]): self.args = args self.action = action CountDownTimer.__init__(self, seconds) def run(self): CountDownTimer.run(self) self.action(self.args)def myAction(args=[]): print “Performing my action with args:” print args if __name__ == “__main__”: t = CountDownExec(3, myAction, [“hello”, “world”]) t.start()

篇4:Win10屏幕保护程序在哪里设置_设置方法

具体方法:

1、在桌面上单机右键,选择个性化;

2、点击左侧的锁屏界面菜单;

3、将窗口滚动到最下方,点击屏幕保护程序设置;

4、在弹出新的窗口中设置,与win7和xp中的方法一样。

[Win10屏幕保护程序在哪里设置_设置方法]

篇5:使用VC++编写C/C++控制台程序的方法

最近看到很多人都在问VC++2008的使用方法,闲来无事就写了这篇文章,希望对新手有用,高手请飘过!

1、启动VS2008(我的默认环境是VC),单击“File”->“New”->“Project”

出现如下对话框:

接下来按照图示来,我就不文字叙述了,

2、点击“Finish”后,在右击“Source Files”->“Add”->“New Item”:

出现如下对话框:

如果是C程序,就添加后缀“.c”,单击“Add”就可以写程序代码了(对于头文件和资源文件的添加是一样的,这里就不多说了),

3、我用的测试代码如下:

4、单击“Debug”->“Start Without Debugging”:

出现如下对话框:

单击“Yes”,运行结果为:

说明:生成的程序是Debug版本,要想得到Release版本,请查找相关资料!

篇6:Python实现监控程序执行时间并将其写入日志的方法

作者:mingaixin 字体:[增加 减小] 类型:转载

这篇文章主要介绍了Python实现监控程序执行时间并将其写入日志的方法,实例分析了Python日志操作的相关技巧,需要的朋友可以参考下

本文实例讲述了Python实现监控程序执行时间并将其写入日志的方法,分享给大家供大家参考。具体实现方法如下:

# /usr/bin/python# -*- coding:utf-8 -*-from time import timedef logged(when): def log(f,*args,**kargs): print ‘‘‘ called: functions:%s args: %r kargs: %r ‘‘‘ % (f,args,kargs) def pre_logged(f): def wrapper(*args,**kargs):log(f,*args,**kargs)return f(*args,**kargs) return wrapper def post_logged(f): def wrapper(*args,**kargs):now = time()try: return f(*args,**kargs)finally: log(f,*args,**kargs) print “time delta:%s” % (time()-now) return wrapper try: return {“pre”:pre_logged,“post”:post_logged}[when] except KeyError,e: raise ValueError(e),‘must be “pre” or “post”‘@logged(“post”)def hello(name): print “hello,”,namehello(“world!”)‘‘‘等同于: hello = logged(“post”)(hello(“world!”))‘‘‘

希望本文所述对大家的Python程序设计有所帮助,

Excel屏幕截图工具使用技巧

VB6.0编写电脑抽奖程序

Internet Explorer 8 安装程序截图软件教程

Python读写unicode文件的方法

会议简报的作用编写方法

下载Python编写屏幕截图程序方法(精选6篇)
Python编写屏幕截图程序方法.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
热门文章
    猜你喜欢
    点击下载本文文档