我需要截取屏幕截图并通过帖子发送到网络服务。我认为对于帖子部分我将使用liburl。
这可以完全跨平台完成,而不需要最终用户安装额外的库/软件吗?
答案 0 :(得分: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)
答案 1 :(得分:2)
您也可以使用PyQt5:
import sys
from PyQt5.QtGui import QGuiApplication
from PyQt5.QtWidgets import QApplication
app = QApplication(sys.argv)
screen = QGuiApplication.primaryScreen()
desktopPixmap = screen.grabWindow(0)
desktopPixmap.save('screendump.png')