gpt4 book ai didi

python - 使用 cairo 在 Python 中绘制大量圆圈

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:36 28 4
gpt4 key购买 nike

我目前正在开发一个应用程序,它使用视频投影仪来创建类似于真实激光的效果。可以在 Youtube 上看到我正在尝试存档的一个非常好的示例 here .

基本上,该应用程序需要绘制各种颜色的简单移动形状。我有一个使用 pycairo 的非常复杂的设置,允许基元通过一组修改器来改变位置、比例和旋转。这提供了很大的灵 active 。

不幸的是,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()

整个事情看起来像this .使用 Core2Duo 在 800x600 上无法维持 25fps。

有没有更快的画圆的方法?质量不是真正的问题。

感谢您的帮助!

最佳答案

Cairo 旨在高质量渲染 - 它在 2d 事物的静态或准静态渲染中大量使用。

难怪它会很慢 --我想我会在你的地方做的第一次尝试是使用 pygame + pyopenGL——很抱歉,我没有提供完整的示例,但这个项目看起来是一个好的开始: http://www.willmcgugan.com/blog/tech/2007/6/4/opengl-sample-code-for-pygame/

关于python - 使用 cairo 在 Python 中绘制大量圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12730399/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com