2009-07-13 83 views
6

亞歷克斯解釋什麼,我正在尋找更好的比我:將圖像輸出爲源代碼的Java圖像編輯器?

你想現有的程序, 允許你畫一幅畫,捕捉 你做什麼,你畫,並寫 每個動作作爲Java命令。當 您點擊「Drawl Oval」工具並點擊 點擊0,0然後在50,50處,它會生成 行gl.drawOval(0,0,50,50)。

如果有人知道這樣的程序,請告訴我。謝謝。


原題:

我一直使用Java和使用java.awt.Graphics庫自定義繪製最近,但發現它正在採取太多的時間來手動編寫。是否有任何簡單的圖形編輯器(如mspaint)可以生成源代碼?

實施例:

繪製此: alt text

將產生:

public void update(Graphics g) { 
    g.translate(0, 0); 
    g.drawOval(0, 0, 50, 50); 
} 

感謝。

+0

我不明白你的例子。您的圖形以直角顯示具有兩個切線的圓形,但您希望該圖形生成用於繪製矩形的命令。怎麼來的? – 2009-07-23 22:14:07

回答

14

如果它們是矢量,您可以使用SVG編輯器(例如Inkscape)以及Kirill's SVG to Java2D代碼轉換器來簡化此操作。這並不完美,但基里爾在迴應改進要求方面非常迅速。

0

雖然不是你要找的,但我應該提到XPM(X Pixmap)格式基本上是C編程語言的一個子集。 XPM2通過刪除C語法的描述來簡化它。 XPM3再次將它們帶回來。

從某種意義上說,XPM圖像轉換器是源代碼生成器和轉換器。 您正在尋找類似於輸出Java AWT的東西,但對於許多真實圖像或照片來說,對圖像進行分析以找到橢圓形等將會很複雜,並創建用線條和形狀繪製它們的代碼(除非圖像應用了過濾器來簡化它,或者像某人指出的那樣是SVG)。它可能必須轉換爲某種形式的位圖,並將其保存在生成​​的Java源代碼的數組中。

3

目前還不清楚你在問什麼。兩種猜測:

  1. 你要對現有的程序,可以讓你畫一幅畫,捕捉你做什麼,你畫,寫每一個動作作爲一個Java命令。當你點擊「Drawl Oval」工具並點擊0,0然後點擊50,50時,它會生成g.drawOval(0,0,50,50)這一行。

    我不知道任何這樣的工具。但是,上述可能會幫助你重新回答你的問題,以便其他人可以分享他們的知識。

  2. 您需要一個程序,它將現有的位圖轉換爲一系列將複製位圖的命令。除了簡單地輸出像素之外,這種工具幾乎不可能寫入;試圖將任意圖片分解成簡單的繪圖命令非常困難。

    在這種情況下,我會建議簡單地將位圖導入爲JPG,PNG,不管使用drawImage()而不是使用Graphics調用。