2012-06-29 48 views
3

我想開發一個使用HTML 5畫布的繪圖工具。當我搜索一個好的HTML 5 JavaScript庫時,其中大多數只關注於生成靜態圖像或動畫。 我正在尋找的是能夠繪製像矩形,圓等原始形狀,並添加點擊事件。我也應該能夠使用手柄來改變形狀。哪個HTML 5 Canvas使用Javascript來製作交互式繪圖工具?

我知道我可能需要定製一些框架,但仍然..如果有這些功能的現有框架,這將是很好的知道。謝謝

[編輯] 感謝您的回覆。順便說一句,我在一些地方看過,SVG對於我打算做的比畫布更多的交互式內容是很好的。現在我完全糊塗了:(

+0

你想構建什麼樣的繪圖工具?它是2D工具還是3D工具? –

回答

3

Paper.js

根據他們的網站:。

Paper.JS是一個開源的矢量圖形腳本框架,關於HTML5的Canvas之上運行

爲您可以使用 鼠標(或觸摸屏)執行的不同操作提供鼠標處理程序。

three.js所

在JavaScript的另一個圖形庫是three.js。根據他們的網站:

該項目的目的是建立與複雜的 非常低的水平的輕量級3D庫 - 換句話說,傻瓜。 庫提供了canvas,svg和WebGL渲染器。

我不確定在庫中處理鼠標事件的支持有多好。用一個例子下面的SO問題涉及它:Event handling for geometries in Three.js?

+1

Three.js是一個3D庫,而Paper.JS是一個2D庫。 –

2

這看起來真的適合您的需要:http://fabricjs.com/demos/

這裏有一個簡單的方形的例子,你可以移動,並用鼠標調整:http://fabricjs.com/controls/

From http://fabricjs.com/

使用Fabric.js,您可以在畫布上創建並填充對象; 對象喜歡簡單的幾何形狀 - 矩形,圓形,橢圓形,多邊形或更復雜的形狀,由數百或數千個簡單路徑組成。

然後,您可以用鼠標縮放,移動和旋轉這些對象; 修改它們的屬性 - 顏色,透明度,z-index等。您也可以使用 鼠標選擇將它們分組在一起。

1

KineticJS

現場描述:

KineticJS是HTML5畫布的JavaScript框架,使高性能的動畫,過渡,節點嵌套,分層,過濾,緩存,事件處理桌面和移動應用程序等等。

它可以繪製基本形狀(矩形,圓形,甚至斑點)
它有許多事件處理程序(點擊,懸停,拖拽等)
那麼你也可以製作動畫(移動,旋轉,規模)
您也可以應用濾鏡(灰度,模糊,反轉)

你可以找到很多examples and tutorials here,這裏是一個截圖:

One example of KineticJS


EDIT

KineticJS不再保持。

您還應該嘗試Paper.jsRaphaël

+2

不再保存這個圖書館。 –

+0

是的,不幸的 – topher