2011-10-13 64 views
-1

我有一個涉及繪圖組件的桌面應用程序項目。基本語言尚未選擇。用於繪製所需您會選擇什麼語言來創建矢量繪圖界面?

動作如下:

  • 點&點擊繪製棍棒和曲線。
  • 要添加的圖形庫。
  • 選擇組件和編輯它們的屬性(厚度,長度,元數據)

所有我能想到的是SVG + JavaScript中,因爲我曾經在網上工作,直到如今。我想要更廣泛的觀點,更多的選擇。

請不要爭論哪種語言在理論上最好。相反,講一個故事:你使用了哪一個,什麼樣的項目,什麼對你來說簡單或困難。

感謝您分享您的經驗:)

+0

你在問用哪種語言編寫這個應用程序,或者哪些語言應該交互地提供給用戶?您的應用意味着哪種桌面環境? –

+0

問題是關於選擇哪種語言來編寫應用程序。我害怕重新發明輪子,儘管我不想在應用程序中「嵌入InkScape」。我想重用可重用的內容,以便用戶可以使用簡單的繪圖接口。例如。如果我有備件InkScape,我會扔掉大部分零件,保留那些對我感興趣的零件,並培養那些失蹤的人。 –

+0

我一直在潛伏Qt/WPF的應用程序設計,但我不知道我是否不應該嵌入另一種語言或API來執行繪圖部分。 –

回答

1

鑑於要求,我只會使用一種語言:Tcl。 Tk小部件庫有一個出色的畫布小部件,它基於矢量,非常易於使用。它是基於事件的,所以在UI編程方面感覺與JavaScript非常相似。

下面是指向並點擊線描代碼:

首先,創建畫布很簡單:

canvas .c 
pack .c 

現在的點碼,然後點擊白描:

set currentObject "" 

set line { 
    set ::currentObject [.c create line %x %y %x %y] 

    bind . <Motion> { 
    .c coords $currentObject [list %x %y %%x %%y] 
    } 
} 

現在將線條繪製代碼綁定到mousedown事件:

bind . <ButtonPress-1> $line 

只是不要忘了處理鼠標鬆開事件,以及:

bind . <ButtonRelease-1> { 
    bind . <Motion> {} 
} 

這只是有關的十幾行代碼。這是我通常轉向Tcl這種事情的另一個原因:它可以讓你用很少的代碼做很多事情。

+0

雖然我不瞭解我所做的很多,但我在http://equi4.com/tclkit/download.html下載了一些東西,啓動它,執行上面的代碼,現在我可以畫線了。相當了不起。 –

0

當然還有的Logo programming language的。這聽起來像是一個笑話,事實上,我首先認爲它是一個笑話,但你可能會發現它的一些用處。

0

WPF是關於圖形的東西,包括矢量。