ホームページ > ウェブフロントエンド > H5 チュートリアル > キャンバスとSVGの違いは何ですか? CanvasとSVGの違いの比較

キャンバスとSVGの違いは何ですか? CanvasとSVGの違いの比較

不言
リリース: 2018-09-15 13:42:31
オリジナル
8859 人が閲覧しました

canvas と svg はどちらもブラウザ上でグラフィックを作成できます。したがって、HTML5 では、canvas と svg は非常によく似ていますが、実際には、canvas と svg は根本的に異なります。以下の PHP 中国語 Web サイトでは、canvas と svg の違いを比較して、canvas と svg の違いをまとめています。一緒に見てみましょう。

canvas と svg の違いについて説明する前に、まず Canvas と svg とは何なのかを見てみましょう。

SVG とは何ですか?

SVG はスケーラブル ベクター グラフィックスの略です。
SVG は、Web で使用するベクトルベースのグラフィックスを定義するために使用されます。
SVG は XML 形式を使用してグラフィックを定義します。
SVG 画像は、グラフィック品質を損なうことなく拡大またはサイズ変更できます。
SVG は World Wide Web コンソーシアムの標準です。
SVG は、DOM や XSL などの W3C 標準と統合されています。

キャンバスとは何ですか?

HTML5 の Canvas 要素は、JavaScript を使用して Web ページ上に画像を描画します。キャンバスは、すべてのピクセルを制御できる長方形の領域です。 Canvas には、パス、長方形、円、文字を描画したり、画像を追加したりするためのさまざまな方法があります。

svg と Canvas が何であるかを理解した後、Canvas と svg を比較してみましょう。

canvas と svg の違いの比較:

まず、時間の観点から Canvas と svg の違いを見てみましょう:

Canvas は HTML5 で提供される新しい要素 であり、svg は Canvas よりも 10 年以上の歴史があります。

SVG は HTML5 独自のタグではありません。当初、SVG は XML テクノロジ (タグまたは属性をカスタマイズできるハイパーテキスト拡張言語) を使用して 2 次元グラフィックスを記述する言語でした。

次に、canvas と svg の機能的な違いを見てみましょう。

SVG は、XML を使用して 2D グラフィックスを記述する言語です。
SVG は XML に基づいています。つまり、SVG DOM 内のすべての要素が利用可能です。 JavaScript イベント ハンドラーを要素にアタッチできます。
SVG では、描画された各グラフィックはオブジェクトとみなされます。 SVG オブジェクトのプロパティが変更された場合、ブラウザはグラフィックを自動的に再現できます。

Canvas は JavaScript を通じて 2D グラフィックを描画します。
キャンバスはピクセルごとにレンダリングされます。
キャンバスでは、グラフィックが描画されると、ブラウザの注目を集めなくなります。位置が変更された場合は、グラフィックスで覆われているオブジェクトも含めて、シーン全体を再描画する必要があります。

最後に、canvas と svg テクノロジ アプリケーションの比較を見てみましょう:

Canvas は解像度に依存しません。
Canvas はイベント ハンドラーをサポートしています。
Canvas は、大きなレンダリング領域を持つアプリケーション (Google マップなど) に最適です。
キャンバスの複雑さが高いと、レンダリングが遅くなります (DOM を過剰に使用するアプリケーションは高速ではありません)。
canvas はゲーム アプリケーションには適していません

svg は解像度によって異なります。
svg はイベント ハンドラーをサポートしていません。
svg のテキスト レンダリング機能は弱いです。
svg は、結果の画像を .png または .jpg 形式で保存できます。
svg は、多くのオブジェクトが 頻繁に再描画されるグラフィックスを多用するゲームに最適です。

この記事はここで終了です。canvas と svg の詳細については、HTML5 開発マニュアルを参照してください。

以上がキャンバスとSVGの違いは何ですか? CanvasとSVGの違いの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート