Không có gì trong thư viện chuẩn có thể thực hiện việc này cho bạn. Về mặt lý thuyết, bạn có thể tự mình thực hiện bằng cách thực hiện các cuộc gọi hệ thống phụ thuộc vào hệ điều hành với ctypes nhưng điều đó có vẻ như rất nhiều công việc không cần thiết đối với tôi. Dưới đây là một kịch bản làm việc để tạo ra một ảnh chụp màn hình sử dụng 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)
Nguồn
2011-12-27 13:40:50
Tôi nghĩ rằng bạn có thể sử dụng wxPython. Xem Andrea Gavanas trả lời ở đây: http://wxpython-users.1045709.n5.nabble.com/how-to-take-a-screenshot-td2357826.html –
nhưng người dùng của tôi có cần cài đặt wxpython không? hoặc chỉ bằng cách biên dịch chương trình nhị phân sẽ hoạt động? –
Python không biên dịch. Nó chạy từ thông dịch viên. Nhưng quyền của bạn, họ phải cài đặt wxpython mà là khá chuẩn anyway nếu bạn không bó nó với kịch bản cài đặt ... –