2011-12-07 116 views
0

我需要繪製自定義形狀並用純色或圖案填充它。我已經實現了形狀,並能夠用2d html5 canvas和javascript來改變填充顏色。繪製圖像並用顏色或圖案動態填充

但是我放棄了畫布的方式,因爲它是一個手機的網絡應用程序,我發現在一個頁面上有幾個畫布在特定的舊手機上運行得非常慢。

任何人都可以建議一個可行的替代方法,牢記速度很重要嗎?我一直在考慮:

用css繪圖,但它看起來像很多標記和混亂創造一個相對簡單的形狀。

SVG - 直到昨晚才知道這個存在。這個例子http://www.w3schools.com/svg/tryit.asp?filename=trysvg_polygon4看起來很像畫布,它是否有任何性能影響?

覆蓋某種webkit css掩碼,像這樣http://www.webkit.org/blog/181/css-masks/但具有背景顏色或圖案。似乎它可能會有問題,如果頁面的背景圖像不是純色。

對於冗長的帖子的道歉,我只是不知道最好的方法來解決這個問題後,畫布證明是不可能的。我很樂意指出正確的方向。

感謝

+0

http://stackoverflow.com/questions/3889882/svg-support-on-android 快速谷歌似乎表明,SVG不是去在舊的Android設備上的方式。 – Johan

+0

該死的,壞消息,但重要的是知道 – mao

回答

1

退房拉斐爾,它基於SVG和由以下瀏覽器支持:

  • Firefox 3.0以上版本,Safari 3.0以上,鉻5.0+,歌劇9.5+和Internet Explorer 6.0 +。

http://raphaeljs.com/

+0

謝謝,這看起來非常有用。但正如johan指出svg在很多android版本上不被支持,我只是在我的android手機上試過。我只是假定它會被支持。 – mao

1

有了SVG,您可以使用CSS樣式填充,這使得它非常容易設置填充到任何一個圖案或純色。

這是svg中的example模式。

+0

svg是理想的,對於android的支持感到遺憾 – mao

+0

我看到有人修改了SVG Web(一種可以渲染svg和flash的shim),只要安裝了flash插件,它就可以在舊版Android上運行。請參閱http://groups.google.com/group/svg-web/browse_thread/thread/77fb6970f5f01e97。 –

+0

謝謝你,我會試一試,看看錶現如何 – mao