这只能通过特定于操作系统的API来完成。某些操作系统不允许直接更改屏幕上的像素。
在Windows上,您可以使用pywin32库通过dc = GetDC(0)
调用获取屏幕的设备上下文,然后使用绘制像素SetPixel(dc, x, y, color)
。
import win32gui
import win32api
dc = win32gui.GetDC(0)
red = win32api.RGB(255, 0, 0)
win32gui.SetPixel(dc, 0, 0, red) # draw red at 0,0
逐像素绘制是最慢的绘制方法。例如,在Windows上,在内存中创建图像然后在一个操作中进行绘制比使用SetPixel进行绘制要快几个数量级。
如果需要速度,请为python使用一些用户界面库,例如Tkinter模块或PyQt。在内存中创建一个窗口和图像,然后在窗口上绘制图像。如果需要操纵像素,请操纵图像中的像素并每次重新绘制。