Graphics 图形应用程序的快速像素精度2D绘图API?

Graphics 图形应用程序的快速像素精度2D绘图API?,graphics,drawing,2d,Graphics,Drawing,2d,我想创建一个跨平台绘图程序。编写我的应用程序的一个要求是在画布上具有像素级精度。例如,我想写我自己的画线算法,而不是依赖别人。我不想要任何形式的消除混叠(同样,需要像素级控制)。我希望屏幕上的用户交互能够快速响应(等待我编写快速算法的能力) 理想情况下,我想用Python或者Java编写这篇文章,作为第二选择。必须具备跨平台轻松制作最终应用程序的能力。如果需要的话,我会在不同的操作系统上提交不同的API,只要我能围绕它们编写一个抽象层。有什么想法吗 附录:我需要在屏幕上画画的能力。我已经找到了一

我想创建一个跨平台绘图程序。编写我的应用程序的一个要求是在画布上具有像素级精度。例如,我想写我自己的画线算法,而不是依赖别人。我不想要任何形式的消除混叠(同样,需要像素级控制)。我希望屏幕上的用户交互能够快速响应(等待我编写快速算法的能力)

理想情况下,我想用Python或者Java编写这篇文章,作为第二选择。必须具备跨平台轻松制作最终应用程序的能力。如果需要的话,我会在不同的操作系统上提交不同的API,只要我能围绕它们编写一个抽象层。有什么想法吗


附录:我需要在屏幕上画画的能力。我已经找到了一个文件。

qt的画布,Qu画师非常适合这个工作,如果你想使用C++。而且是跨平台的

QT有一个python绑定,但我从未使用过它

至于Java,使用SWT,画布的像素级操作有些困难和缓慢,所以我不推荐使用它。另一方面,Swing的画布非常好,反应灵敏。我从未使用过AWT选项,但您可能不想使用它。

Python库可能适合您的需要。它允许您使用OpenGL,一个跨平台的图形API。您可以禁用抗锯齿并将屏幕区域捕获到缓冲区或文件中。此外,您还可以使用它的事件处理、资源加载和图像处理系统。您可能还可以将它绑定到PIL(Python图像库)中,当然还有Cairo,一个流行的跨平台矢量图形库

我提到Pyglet而不是纯粹的PyOpenGL,因为Pyglet可以透明地处理很多丑陋的OpenGL内容,而不需要您的努力


我和一个朋友目前正在使用Pyglet开发一个绘图程序。有一些怪癖-例如,OpenGL在OS X上总是双缓冲的,所以我们必须绘制所有内容两次,一次用于当前帧,另一次用于另一帧,因为每当显示刷新时,它们都会翻转。你可以看看我们目前的进展。(trunk中的Splatterboard.py是您要运行的文件。)如果您还没有开始使用svn,我很乐意通过电子邮件向您发送最新源代码的.zip。如果你仔细研究的话,可以随意窃取代码。

我刚刚在本周准备了一些幻灯片和演示代码,用于使用python中的OpenGL和pyglet库制作2d图形。你可以在这里看到我的东西:

它非常快(相对来说,对于python来说),我已经成功地在屏幕上移动了大约1000个独立定位和定向的对象,每个对象大约有50个顶点

它是非常可移植的,我在这个环境中编写的所有代码都可以在windows、Linux和mac(甚至像Pypy这样晦涩难懂的环境)上运行,而我根本不需要考虑它

更新:关于同一主题也有许多较新的帖子:

我推荐

这是一款非常漂亮的跨平台产品,您可以获得每像素控制,如果您改变主意,可以将其与pyglet或agg等库一起使用


您可以在文档和演示下载中找到一些有用的示例,说明您正在尝试执行的操作。

如果“语言选择”处于打开状态,则使用Haxe创建的Flash文件可能会有一席之地。Haxe是免费的,是一种完整的动态编程语言。然后是相关的Neko,一个在Mac、Windows和Linux上运行的虚拟机(如Java、Ruby、Parrot…)。在某种程度上,它是一种新的改进形式的Flash,自然可以绘制东西

我知道这是一篇旧文章,但链接断了。