在Python中截取屏幕截图 - 跨平台

Car*_*osa 8 python screenshot

我需要截取屏幕截图并通过邮件发送到网络服务.我认为对于帖子部分我将使用liburl.

这可以完全跨平台完成,而不需要最终用户安装额外的库/软件吗?

Ton*_*uža 10

标准库中没有任何东西可以为您执行此操作.从理论上讲,你可以通过使用ctypes进行os依赖的系统调用来自己完成,但这对我来说似乎是很多不必要的工作.这是一个使用wxPython制作屏幕截图的工作脚本:

import wx

app = wx.App(False)

s = wx.ScreenDC()
w, h = s.Size.Get()
b = wx.EmptyBitmap(w, h)
m = wx.MemoryDCFromDC(s)
m.SelectObject(b)
m.Blit(0, 0, w, h, s, 0, 0)
m.SelectObject(wx.NullBitmap)
b.SaveFile("screenshot.png", wx.BITMAP_TYPE_PNG)
Run Code Online (Sandbox Code Playgroud)

  • 没有在MacOS上工作..我得到一个黑色的图像 (2认同)