[討論] canvas
其實應該PO在javascript/ajax版比較適合的,但是...
那邊的人數看起來好少XD
如題,Canvas主要是用來解決HTML上無法表達圖形的問題,
其實這樣的問題已經討論好久了,例如微軟有vml,但是IE only
它利用XML標籤定義各種圖形的表達方式,可以做出很多不同的圖形特效
例如:http://www.sjsu.edu/faculty/watkins/vml.htm
但......終究是IE only,
純粹利用javascript來繪圖,例如很多人推薦的
http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm
這個套件,也蠻不錯用的,但是.....還是不支援Fire fox
真是令人扼腕
在網路上搜尋好一會,發現有個令人激賞的東西出現了,
就是Canvas,
http://wiki.moztw.org/index.php/%E7%94%A8_Canvas_%E7%95%AB%E5%9C%96
這東西基本上是一個新的tag,Firefox本身也直接支援這個tag
而IE雖然不支援,但只要有一個擴充的js檔就可以了
http://tinyurl.com/2qf9tp
廢話不多說,先給大家看個範例:http://caimansys.com/painter/
另外還有這個:http://abrahamjoffe.com.au/ben/canvas/colliding_discs.html
(這個連結請用flash開啟,請注意這不是flash喔)
太酷了~竟然可以在web實現這麼美妙的東西,
而且是跨瀏覽器支援,
據說這個TAG也即將納入HTML的標準之中,大家拭目以待。
其實會看到這些東西,是我在跟朋友討論到像google、urmap地圖功能
好像都沒辦法在地圖上面直接畫畫
因此我就用urmap的API
以及walterzorn裡頭的繪圖函式自己試著做了一下,
如:http://tinyurl.com/yua92m (測試而已,bug應該還蠻多的)
但會出現移動太快造成點無法連續的問題
不過這套函式庫基本上還是蠻不錯用的,
後來想利用Canvas來做到類似的效果,但是地圖與畫布
無法結合在一起,因為畫布本身是利用<canvas>標籤
以及javascript產生的,若將map放到<canvas>裡頭畫布變無法作用
如果將map的DIV重疊在一起,利用z-index來控制圖層順序,
依然無法解決,也許是canvas的問題,
不過我想canvas標籤雖然可以很彈性的解決繪圖的問題,
卻沒辦法與其他圖層結合的話,好像有點可惜,
或者是我自己的想法轉不過來,
想跟大家討論看看^^
有興趣的朋友也可以私底下寄信給我^^
Canvas的討論國外好多,不過國內好像不太多的樣子
還有還有~Canvas還可以做3D效果喔,
http://tinyurl.com/d797y
神吧~
另外不曉得Google map的3D建模效果是怎麼做出來的
javascript真的是個很奇妙的世界^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.22.18
推
06/29 01:17, , 1F
06/29 01:17, 1F