2013-12-13 61 views
1

我正在尋找一種高級語言,它仍然允許我直接使用圖形。例如,我希望能夠修改屏幕像素。但我不想爲每個操作編寫大量的代碼。我需要簡單的一行圖形命令,如下所示。什麼是一些編程語言會有這些功能?低級圖形的高級語言

可能的僞代碼:

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

偏離主題,所以SO不會提出建議。嘗試http://processing.org/ –

+2

而你稱之爲「低級」?!? –

+0

我看着processing.org,它看起來很有趣。我會試試看,看看它是我在找什麼。 –

回答

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++並且不習慣閱讀它,這可能是一個問題。

+0

於是我下載了處理並解壓。我也粘貼了一些來自互聯網的示例代碼,這非常有趣!除圖形外,我還可以做其他事情嗎?例如處理文件和用戶輸入?我在網上看到的大多數例子都是圖形。 –

+0

@MathMan是的,你期望的所有功能都在那裏。請參閱http://www.learningprocessing.com/examples/chapter-18/example-18-1/和http://processing.org/reference/open_.html。 processing.org網站有大量的文檔。 –

0

使用Qt您可以創建QImage對象,借鑑他們usign QPainter

您當然使用該抽象級別進行像素控制,但您也可以直接使用bits()bytesPerLine()方法直接訪問底層內存,從而直接訪問圖像內存。

這是最容易使用做特殊的快速計算的格式是在我和每像素32位的意見QImage::Format_ARGB32

Qt是在5月的操作系統和平臺的C++庫便攜,和綁定可用於許多非常高的水平的語言(例如Python)的。

+0

我不是一個有經驗的程序員,所以我不確定你的意思是什麼格式「QImage :: Format_ARGB32」 –

+0

@MathMan:這是一個圖像格式,其中每個像素有4個字節;紅色,綠色和藍色以及alpha(不透明度)爲0-255。所有(x,y)像素從(0,0),(1,0),...,(w-1,0),(0,1),(1,1), ...,(w-1,1),...,(w-1,h-1)。 – 6502