質問

埋め込みsvgで同じことが実現できるのに、なぜhtml5キャンバス要素が必要なのですか?

役に立ちましたか?

解決

SVGとcanvasは、実際には互換性のある技術ではありません。 SVGは、すべてがかなり抽象的なモデル(SVGドキュメント)から描画される保持モードグラフィックスの一種です。一方、Canvasは一種のイミディエイトモードグラフィックスであり、モデルは存在せず、クライアント(JavaScript)が再描画、アニメーションなどを処理する必要があります。

他のヒント

SVGは、ベクターグラフィックスのマークアップ言語であり、DOMを備えています。これにより、作成後にコンテンツを簡単に変更できます。

Canvasは、元に戻すボタンのないMSペイントのようなペイントサーフェスです。コンテンツを変更することはできません。塗りつぶすことしかできません。ブラウザは画像の完全なDOMを処理する必要がないため、非常にパフォーマンスが高くなります。また、キャンバスが将来3D描画を処理できる可能性があります。

http://people.mozilla.com/~vladimir/xtech2006/ いい比較があります。

canvasを使用すると、DOMを処理する必要がなくなります。これにより、コードをより速く簡単に書くことができます。 SVGも仕様として混乱しています...

イラスト:私のブログエンジン(ブロガー)はSVGをサポートしていません(XHTMLドキュメントではありません)。 SVGをキャンバス要素に変換するツールを作成しました: http ://plindenbaum.blogspot.com/2009/11/tool-converting-svg-to-canvas_22.html

ここでは、単純なsvgを解析してキャンバスに描画する方法について説明します。

http:// www .ikeralbeniz.net / 2010/11/03 / jugando-con-html5-canvas-y-svg-i / http://www.ikeralbeniz.net/2010/11/04/jugando-con-html5-canvas-y-svg-ii/

今後の投稿では、svgパーサーは透明度とグラデーションで完成します

そのような埋め込みをサポートするものについて心配する必要がないため、;-)

この方法では、アプリケーション開発者の焦点は標準に準拠し、クライアント設計者に同じことをさせることです。そのため、プラグイン、バージョン、セキュリティ設定などについて心配する必要はありません。

これは実際には技術的な答えではありませんが、正しい答えだと思います。

要点は、両方は必要ないということです。はい、ベクターグラフィックスとラスターグラフィックスには違いがあり、2つのパス、オブジェクト、アニメーションなどを制御する方法が異なることは知っていますが、エンドユーザーにとってはすべて同じです。はい、SVGはその存続期間が長いため、現時点ではもう少し強力ですが、もう少し作業を行うことでCanvasで同じことができます。

Canvasは、Web開発におけるXML自体に対する圧倒的な反発の一部です。私は、ほとんどのWeb開発者、特に「エンタープライズ」以外の限られた時間とリソースで作業しているWeb開発者を信じています。環境は、XMLの複雑さを嫌います。 Canvasは、HTML5がXHTMLよりも好まれ、JSONがXMLよりも好まれ、YAMLがXMLよりも好まれているように、一連の好まれるワンスワンテクノロジーの一部です。

1つのメガツールが多くのことを行うのではなく、多くの特定のツールが1つのことを正しく効率的に行う* nix哲学に似ていると思います。 (また、1つのダイレクトドライブギアのシンプルさのために、非常に正確で高度なディレイラーテクノロジーを避ける多くの固定ギアバイクライダーが保持している哲学に似ています。)

誤解しないでください。XMLは、優秀な人々がWeb、プログラミング、設定、データストレージなどの究極のスイスアーミーナイフであると考え、開発した信じられないほど強力で素晴らしい技術だと思います。しかし、それは単に。にピクセルを描画するよりも、一連の複雑なパスの管理とスタイル設定が簡単だという意味ではありません。

私は自分の答えに意見があることを知っていますが、これが炎であることを意図していません。私はSVGが大好きで、長年にわたって(特にIEから)より多くのサポートが得られることを願っていますが、単に標準設定者とそれらに影響を与えるWeb開発者の心理のために、Canvasに向かう潮流を感じています。

長期的には、SVGでXMLをオプションにし、JavaScriptでの操作がより簡単なJSONに似た構造に移行して、おそらくベクターベースのCanvasコンテキストになりたいと考えています。私の意見では、これがウェブにとって最良のソリューションです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top