JavaScript は SVG 画像を変更します

PHPz
リリース: 2023-05-16 09:03:07
オリジナル
1083 人が閲覧しました

JavaScript はフロントエンド開発で広く使用されているプログラミング言語で、HTML や CSS などの Web 要素を操作したり、SVG 画像を変更したりすることができます。今回はJavaScriptを使ってSVG画像を加工する方法を紹介します。

SVG は Scalable Vector Graphics の略で、XML 言語を使用してグラフィックスを記述するため、さまざまなサイズの画面でもグラフィックスの鮮明さを維持できます。 SVG 画像は、Adobe Illustrator などのプロ仕様の描画ソフトウェアを使用する、オンライン SVG エディタを使用する、または SVG コードを直接記述するなど、さまざまな方法で作成できます。

一般的に、SVG 画像は他の画像と同様に HTML で使用でき、 タグまたは CSS の背景属性を通じて表示できます。ただし、JavaScript では SVG の XML コードを直接変更することで、グラフィックスをより詳細に制御できます。

これは簡単な SVG コード例です:


  
ログイン後にコピー

このコード スニペットは、半径 40 ピクセル、中心座標 (50,50) の赤い円を作成します。次に、JavaScript を使用してこの円のプロパティを変更します。

まず、SVG 要素への参照を取得する必要があります。これは document.querySelector メソッドを通じて実現できます。

const svg = document.querySelector('svg');
ログイン後にコピー

次に、循環要素への参照を取得できます。 querySelector メソッド:

const circle = svg.querySelector('circle');
ログイン後にコピー

ここで、プロパティを変更することで、JavaScript の円形要素の外観を変更できます。たとえば、fill 属性を設定することで円の色を変更できます。

circle.setAttribute('fill', 'blue');
ログイン後にコピー

これにより、円の色が赤から青に変わります。同様に、円の半径や中心座標などの属性を変更できます。

circle.setAttribute('r', '50');  // 将半径改为50像素
circle.setAttribute('cx', '70'); // 将中心横坐标改为70像素
circle.setAttribute('cy', '30'); // 将中心纵坐标改为30像素
ログイン後にコピー

属性を直接設定することに加えて、setAttributeNS メソッドを使用して属性の名前空間を設定することもできます。たとえば、円形要素のストローク属性 (境界線の色) を設定するには、その名前空間を指定する必要があります:

const xmlns = "http://www.w3.org/2000/svg";
circle.setAttributeNS(xmlns, 'stroke', 'black');
ログイン後にコピー

SVG グラフィックを変更するときに注意する必要があるいくつかの問題:

  1. グラフィックスのプロパティを設定するときは、プロパティ名、名前空間、およびプロパティ値が正しいことを確認する必要があります。そうでないと、グラフィックスが異常に表示されたり、正しく表示されない可能性があります。
  2. SVG は XML ベースの言語であるため、SVG コードを変更するときは、終了タグを使用する必要がある、一重引用符は " を使用する必要があるなど、XML の構文規則に従う必要があります。
  3. ブラウザごとに SVG 要素のサポートが異なるため、テストしてさまざまなブラウザに適応させる必要があります。

実際の開発では、通常、SVG グラフィックの JavaScript 変更を使用して、高度なグラフィック効果を実現したり、アニメーション。たとえば、JavaScript を使用してグラフィック属性を動的に変更し、インタラクティブなグラフィック効果を実現できます。また、JavaScript を使用して SVG 要素を作成および削除し、複雑な描画操作を実現することもできます。

つまり、JavaScript の SVG 操作機能Web ページのグラフィックスをより柔軟に制御して、より豊かな視覚効果を実現できるようになります。

以上がJavaScript は SVG 画像を変更しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!