SVGで少し遊んでみた
2010.09.22
HTML5/CSS3の重要性に関しては、ここでも何度か取り上げているが、ちょっと見逃しなのがSVGの重要性。IE9がサポートすることになって、ようやくSVGを活用したサイトの構築が現実的になって来た。HTML5のCANVASがJavaScriptで動的に「描く」ことを前提にしているAPIであるのに対し、SVGはHTMLとの親和性のよいマークアップ言語である点はちゃんと認識した上で使い分ける必要がある。特に、モバイルデバイスでは、CANVASでのアニメーションはやたらと電池を消費するので、ある程度までのアニメーションならば、CSS3アニメーション+SVGの組み合わせの方が適している。
とうことで、今回は勉強も兼ねて、SVGを生成するプログラムを書いてみた。開発中のiPad向けのベクター・エディタ、neu.Drawから直接SVGを書き出すというモジュールだ。
グラデーションの扱いと、グループ化したベクターデータの座標変換に少し苦労をしたが、そこそこのものが動くようになったので、それで作成したサンプルSVGをココ(http://satoshi.blogs.com/raw/drawing-26.svg)に置いておく。
お手持ちのブラウザーで見ていただきたい。ブラウザーがSVGをサポートしていれば、下に貼付けた図(下の図はPNG)と同じようなものがブラウザーのウィンドウ一杯に表示されるはずだ。それも、ブラウザーを拡大縮小すると、それに応じてきれいにベクターで再描画してくれるはずである。
ちなみに、これはテストも兼ねているので、もし不具合を見つけた場合には、ブラウザーの種類とバージョンをコメント欄なので教えていただくと、とても助かる。特に、最近はWindowsマシンを持ち合わせていないので、IE9でもちゃんと表示されるかにとても興味がある。
IE9でもちゃんと表示されました。もちろん、Firefox, Chrome, Safari, Operaでも表示されました。(いずれも最新バージョン)
ただ、IE9, Firefox, Chromeは全体が同時に表示されたのに対し、Safari, Operaは上からパラパラと順に表示される感じでした。これはブラウザの仕様、私の環境の回線速度、ブラウザの不具合かは私には分かりませんが。
もしこのコメントが参考になれば嬉しいです。
Posted by: kamimura | 2010.09.23 at 01:05
マイナーではありますが、Camino 2.0.4 on MacOS X 10.6.4でも正常に動作します。
Posted by: whisky | 2010.09.23 at 05:38
家のPC Windows7 も オフィスのPC XP も IE8なので・・・w
Posted by: kokorohamoe | 2010.09.23 at 20:03
不具合ではないのですが、stroke="(null)"は規格上はstroke="none"です。
Posted by: ると | 2010.09.25 at 05:58