具有低级图形的高级语言

时间:2013-12-13 15:55:21

标签: graphics

我正在寻找一种高级语言,这仍然可以让我直接使用图形。我希望能够修改屏幕像素。但我不想为每个操作编写大量代码。我想要简单的一行图形命令,有点像下面列出的那些。什么是具有这些功能的编程语言?

可能的伪代码:

Screen.clear
Graphics.line(4,5,20,25).color=green
Circle(centerx,centery,radius)

2 个答案:

答案 0 :(得分:3)

取决于你想要做什么(例如,你需要多复杂?)Processing是一个非常高级,以图形为中心的环境。但请注意,它似乎专注于固定功能OpenGL管道,这是不推荐使用的(尽管可以说是最简单,最直观的入门方式)。

处理是用Java构建的,在Web浏览器(或从桌面)中运行,并抽象出使用OpenGL所需的大部分初始化和清理代码。

修改 我刚刚注意到你的评论说你不是一个经验丰富的程序员。在这种情况下,我建议从Processing开始。一旦掌握了它,就转到Python。

另一个稍微复杂的选项是Python。 Python非常强大,相当容易上手(取决于您之前的开发经验),并得到广泛支持。它还允许您使用21世纪的着色器和其他功能,并且是跨平台的See this link for PyOpenGL,这是第一个在Google中弹出的Python OpenGL网站。

然后,有C# + OpenTK。这可以非常快速地变得非常复杂,但是非常强大,并且因为它被编译(在.NET或Mono下),可能会比Python提供更好的性能。

最后,对于接近裸机的性能,C ++是无与伦比的,尽管可以说是这些选项中最复杂的,具有重要的学习曲线。但是,您在网上找到的大部分示例代码都是使用C ++编写的,如果您不使用C ++并且不习惯阅读它,这可能会成为一个问题。

答案 1 :(得分:0)

使用Qt,您可以创建QImage个对象并在其上绘制QPainter

您当然使用该抽象级别进行像素控制,但您也可以使用bits()bytesPerLine()方法直接访问底层内存,从而直接访问图像内存。

最简单的用于快速特殊计算的格式在我看来是QImage::Format_ARGB32,每像素32位。

Qt是可在操作系统和平台上移植的C ++库,并且绑定可用于许多非常高级的语言(例如Python)。