如何加速在Python PIL中绘制多个圆圈

whi*_*whi 2 python python-imaging-library

在python PIL lib中,我正在使用

>>> draw.ellipse((x - r, y - r, x + r, y + r))  
Run Code Online (Sandbox Code Playgroud)

将圆绘制为节点.但是,由于要绘制数千个节点,因此需要很长时间.
是否有更快的方法来绘制我的所有节点?

对于背景:绘制树状图形,以圆圈作为节点.

inv*_*ert 5

如果你在每个周期画出那么多的椭圆,它会很慢.

您需要使用PIL的具体原因是什么?从你的问题细节来看,我不确定PIL是否适合你的任务:你需要一个图形库,而不是一个图像处理库.它们是有区别的.

PyGame是一个适用于高性能绘图程序的SDL包装器.

一些技巧包括一次绘制到表面,然后只重绘脏区域.可在此处找到此教程:

大多数刚接触图形编程的人使用第一种选择 - 他们每帧都更新整个屏幕.问题是对于大多数人来说这是慢得令人无法接受的.

该解决方案称为"脏矩形动画".不是每帧更新整个屏幕,而是仅更新自上一帧以来改变的部分.