HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

SVGとHTML5Canvasの違いは何ですか?


HTMLの要素は、SVGグラフィックのコンテナです。 SVGはScalableVectorGraphicsの略です。 SVGは、ボックス、円、テキストなどのグラフィックスを定義するのに役立ちます。SVGはScalable Vector Graphicsの略で、XMLで2Dグラフィックスとグラフィックスアプリケーションを記述するための言語であり、XMLはSVGビューアによってレンダリングされます。ほとんどのWebブラウザーは、PNG、GIF、およびJPGを表示できるのと同じようにSVGを表示できます。

HTMLの要素は、JavaScriptを介してグラフィックを描画するために使用されます。 要素はグラフィックのコンテナです。

SVG
HTMLキャンバス
SVGのスケーラビリティは優れています。そのため、どの解像度でも高品質で印刷できます
Canvasのスケーラビリティは不十分です。したがって、高解像度での印刷には適していません。
SVGは、オブジェクトの数が少ない場合やサーフェスが大きい場合に、パフォーマンスが向上します。
Canvasは、サーフェスを小さくしたり、オブジェクトの数を増やしたりすると、パフォーマンスが向上します。
SVGはスクリプトとCSSを介して変更できます
キャンバスはスクリプトでのみ変更できます
SVGはベクトルベースであり、形状で構成されています。
Canvasはラスターベースで、ピクセルで構成されています。

次のコードを実行して、Scalable Vector Graphics(SVG)をWebページに追加してみてください-

<!DOCTYPE html>
<html>
   <head>
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-20%);
            -ms-transform: translateX(-20%);
            transform: translateX(-20%);
         }
      </style>
      <title>HTML5 SVG</title>
   </head>
   <body>
      <h2 align = "center">HTML5 SVG Circle</h2>
      <svg id = "svgelem" height = "200" xmlns = "https://www.w3.org/2000/svg">
         <circle id = "bluecircle" cx = "60" cy="60" r = "50" fill = "blue" />
      </svg>
   </body>
</html>

次のコードを実行して、HTML5Canvasで長方形を描画する方法を学ぶことができます-

<!DOCTYPE html>
<html>
   <head>
      <title>HTML5 Canvas Tag</title>
   </head>
   <body>
      <canvas id = "newCanvas" width = "200" height = "100" style = "border:1px solid #000000;"></canvas>
      <script>
         var c = document.getElementById('newCanvas');
         var ctx = c.getContext('2d');
         ctx.fillStyle = '#7cce2b';
         ctx.fillRect(0,0,300,100);
      </script>
   </body>
</html>

  1. DirectX11とDirectX12の違いは何ですか?

    DirectXは、マルチメディアコンテンツをレンダリングし、グラフィカルハードウェアと通信するためにソフトウェアによって使用されるAPIまたはアプリケーションプログラミングインターフェイスのコレクションです。 DirectXの主要コンポーネントAPIであるDirect3Dは、ソフトウェアとグラフィックスハードウェア間の通信を処理します。すべてのハードウェアが異なるため、関数と呼び出しの標準化されたライブラリを使用してグラフィックカードと通信すると、ゲーム開発がスピードアップします。これはハードウェアアブストラクションと呼ばれ、APIの主な仕事です。 車について考えてみましょう。1台の車を運転

  2. JavaとJavaEEの違いは何ですか

    JSE(Java Standard Edition) JavaSEを使用すると、スタンドアロンアプリケーション(Adobe Reader、アンチウイルス、メディアプレーヤーなど)を開発できます。JavaSEはコアJavaとも呼ばれます。 lang: 言語の基本。 util: コレクションフレームワーク、イベント、データ構造、および日付などの他のユーティリティクラス。 io: ファイル操作、およびその他の入出力操作。 数学: 多精度演算。 nio: Java用のノンブロッキングI/Oフレームワーク。 ネット: ネットワークに関連するAPIを分類します。 セキュリティ: