![]() |
1
5
我想 cairo 会做很多你想做的事。他们有 python bindings 也是。 一个对你没有帮助的要求是修改以前绘制的多边形,但是我不知道有什么画布可以帮你做到这一点。 |
![]() |
2
2
听起来像是一份工作 OpenGL . 我的建议是,无论选择哪种库,都要为多边形创建一个适合算法的数据结构,以便它们更简单、更可读,而不是试图让这些算法直接操作画布。然后,您可以编写将它们与主逻辑分开(即独立)的代码。 |
![]() |
3
2
This discussion on Stackoverflow 在各种用于python的gui工具包上有一些比较和代码片段。我很确定 QGraphicsView 在 QT 会有透明度。诺基亚(nee troll)为qt制作了一个演示套件,可以让您了解它的功能。 |
![]() |
4
1
尝试 pyglet . 它是一个带有opengl的python图形库。如果你以前做过opengl编程,那么它无疑是获得你想要的东西的最简单的方法。 |
![]() |
5
1
不是的。你可以看看我的 HTML canvas tutorial 看你如何画一个移动的球;你擦去屏幕,在你想要的地方画一个新的圆圈。 您可以在pyglet、pygame、qt、tkinter、wxpython和cairo的画布上绘制简单的形状。 通常,您会有称为“sprite”或“shapes”的对象来表示绘制到屏幕上的对象,并将它们全部存储在一个容器中。然后库或框架将在每一帧将它们全部呈现到画布上。因此,在用户(你)看来,你可以修改屏幕上的对象;你设置一个球的x和y坐标,在下一帧中,球在那里被渲染。然而,在一个较低的水平上,一切都被抹去,重新绘制。 对于计算密集型动画,一种称为 double-buffering 将使用内存中的位图而不是屏幕上的位图进行修改,然后绘图过程将简单地将该位图复制到屏幕上。
上面提到的所有框架都将为要绘制的对象列表提供一个很好的抽象,这样您就不需要手动维护它,并且您可以编写程序,就好像您绘制的精灵/形状可以直接在屏幕上移动一样,即使它们真的不在较低的级别。 |
![]() |
6
1
Pygame 应该能为你做到这一点。 请参见pygame.draw.polygon |
![]() |
7
0
我相信html画布允许您修改元素,这使我相信可能还有另一个画布也可以。但是,如果没有,基本上需要我保留一个所有多边形的单独列表,当我想做一个更改时,更改列表中的项,然后创建一个新画布,这似乎会有很大的开销。 |
![]() |
8
0
qt和wxwidgets都有一些画布绘制功能(qt称之为graphicsview)。快速的谷歌搜索会给你提供很多例子,这样你就可以看到它是否符合你的要求。 |
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |