我目前正在开发一个应用程序,它使用视频投影仪创造类似真实激光的效果。通过这个链接here可以看到我试图实现的非常好的示例。
基本上,这个应用程序需要在各种颜色中绘制简单的移动形状。我使用了pycairo进行相当复杂的设置,使得原语通过一组修改器来改变位置、缩放和旋转。这样可以提供很大的灵活性。
不幸的是,pycairo在绘制虚线圆时速度比较慢。我尝试绘制了30个如下所示的圆:
整个东西看起来像这样。使用Core2Duo在800x600上不能保持25fps。
有更快的画圆方式吗?质量并不是真正的问题。
感谢您的帮助!
基本上,这个应用程序需要在各种颜色中绘制简单的移动形状。我使用了pycairo进行相当复杂的设置,使得原语通过一组修改器来改变位置、缩放和旋转。这样可以提供很大的灵活性。
不幸的是,pycairo在绘制虚线圆时速度比较慢。我尝试绘制了30个如下所示的圆:
# setup, transforms...
# Example color-scheme:
self._colors = [(0.0, 1.0, 0.0)]
# drawing dashes one after another
for count, color in enumerate(self._colors):
cr.set_dash(dash_len, self._dash_len * count)
cr.set_source_rgb(color[0], color[1], color[2])
cr.arc(0, 0, self.radius(), 0, 2 * math.pi)
cr.stroke()
整个东西看起来像这样。使用Core2Duo在800x600上不能保持25fps。
有更快的画圆方式吗?质量并不是真正的问题。
感谢您的帮助!
cr.set_tolerance(0.5)
了,还有其他的吗? - Delphinator