blog

SVG 学習シリーズ 1 - 導入、埋め込み方法、基本図形

まえがき\n\n\nSVG の紹介\nSVG とは Scalable Vector Graphics のことです。画像はXML形式で定義されます。\nSVGの標準的な作成方法です:\nxml vers...

Jul 4, 2020 · 5 min. read
シェア

まえがき

SVG

SVGとはScalable Vector Graphicsの略。XML形式でイメージを定義します。

標準的な SVG 作成文:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://..org/Graphics/SVG/.1/DTD/.dtd">
<svg xmlns="http://..org/2000"/svg" version="1.1">
 <circle cx="100" cy="50" r="40" stroke="black"
 stroke-width="2" fill="red" />
</svg>

最初の行はXML宣言です。standalone 属性に注意!この属性は SVG ファイルが「スタンドアロン」なのか、外部ファイルへの参照を含んでいるのかを指定します。

standalone="no" は SVG 文書が外部ファイル - この場合は DTD ファイル - を参照することを意味します。

2行目と3行目はこの外部SVG DTDを参照しています。 DTDは にあります。この DTD は W3C にあり、許可されたすべての SVG 要素を含んでいます。

SVG コードは 要素で始まり、要素には開始 タグと終了タグが 含まれます。width 属性と height 属性はこの SVG 文書の幅と高さを設定し、 version 属性は使われる SVG のバージョンを定義し、 xmlns 属性は SVG 名前空間を定義します。

SVGは円を作るのに使われます。 cxとcy属性は円の中心のxとy座標を定義します。これら二つの属性が無視された場合、円の点は .r に設定されます。 r 属性は円の半径を定義します。

strokeとstroke-widthプロパティは、図形のアウトラインの表示方法を制御します。円の輪郭の幅を 2px に設定し、黒い境界線を付けます。

fill プロパティは、シェイプの内側の色を設定します。塗りつぶしの色を赤に設定します。

close タグは SVG 要素と文書自体を閉じる役割を果たします。

SVG

全ての要素について、SVGはCanvasで使われているのと同様の座標系(グリッドシステム)を使います。この座標系は次のようなものです:ページの左上隅が座標点、座標はピクセル単位、x軸の正方向は右方向、y軸の正方向は下方向。これは、あなたが子供の頃に教わった絵の描き方とは正反対であることに注意してください。しかし、HTML文書では、要素はこのように配置されます。

SVGHTML の埋め込み方

SVG ファイルは次のタグで HTML 文書に埋め込むことができます: , , または .

SVGコードはHTMLページに直接埋め込むことも、SVGファイルに直接リンクすることもできます。

<embed>

利点:すべての主要なブラウザでサポートされており、スクリプトが使用できます。

短所:HTML4やXHTMLでの使用は推奨されていません。

<embed src="circle1.svg" type="image/svg+xml" />

<object>

利点:すべての主要ブラウザでサポートされており、HTML4、XHTML、HTML5標準をサポートしています。

短所:スクリプトは使用できません。

<object data="circle1.svg" type="image/svg+xml"></object>

<iframe>

利点:すべての主要なブラウザでサポートされており、スクリプトが使用できます。

短所:HTML4やXHTMLでの使用は推奨されていません。

<iframe src="circle1.svg"></iframe>

直接埋め込み

<svg xmlns="http://..org/2000"/svg" version="1.1">
 <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>

文書のリンク

www.w3.org/Graphics/SVことも可能です。

<a href="circle1.svg">View SVG file</a>

SVG基本図形

長方形

タグは、長方形、および長方形の変形を作成するために使用できます。

<svg xmlns="http://..org/2000"/svg" version="1.1">
 <rect width="300" height="100"
 style="fill:rgb(0,0,255);stroke-width:1;stroke:rgb(0,0,0)"/>
</svg>
  • rect要素の width属性と height属性は、矩形の高さと幅を定義します。
  • style属性はCSSプロパティを定義するのに使われます。
  • CSS fillプロパティは、矩形の塗りつぶしの色を定義します。
  • CSSのstroke-widthプロパティは、矩形の枠線の幅を定義します。
  • CSSのstrokeプロパティは、矩形の枠線の色を定義します。
<svg xmlns="http://..org/2000"/svg" version="1.1">
 <rect x="50" y="20" width="150" height="150"
 style="fill:blue;stroke:pink;stroke-width:5;fill-opacity:0.1;
 stroke-opacity:0.9;opacity:0.5"/>
</svg>
  • x プロパティは、矩形の左辺の位置を定義します。
  • y属性は矩形の上端位置を定義します。
  • CSS fill-opacityプロパティは、塗りつぶし色の透明度を定義します。
  • CSSのstroke-opacityプロパティは、アウトラインの色の透明度を定義します。
  • CSSのopacityプロパティは、要素の透明度の値を定義するために使用されます。

丸みを帯びた長方形:

<svg xmlns="http://..org/2000"/svg" version="1.1">
 <rect x="50" y="20" rx="20" ry="20" width="150" height="150"
 style="fill:red;stroke:black;stroke-width:5;opacity:0.5"/>
</svg>

rx と ry プロパティは矩形の角を丸めます。

円形

<svg xmlns="http://..org/2000"/svg" version="1.1">
 <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>
  • cx属性とcy属性は、円の点のx座標とy座標を定義します。cx と cy が省略された場合、円の中心は
  • r属性は円の半径を定義します。

楕円

要素を使用して楕円を作成します:

楕円は円によく似ています。違いは、楕円は x と y の半径が異なるのに対して、円は x と y の半径が同じであることです:

<svg xmlns="http://..org/2000"/svg" version="1.1">
 <ellipse cx="300" cy="80" rx="100" ry="50"
 style="fill:yellow;stroke:purple;stroke-width:2"/>
</svg>
  • RXプロパティで定義される水平半径
  • RY属性で定義される垂直半径

直線

要素は、直線

<svg xmlns="http://..org/2000"/svg" version="1.1">
 <line x1="0" y1="0" x2="200" y2="200"
 style="stroke:rgb(255,0,0);stroke-width:2"/>
</svg>
  • x1 プロパティは、X 軸上の線の始点を定義します。
  • y1 プロパティは、Y 軸上の線の始点を定義します。
  • x2 プロパティは、X 軸上の線の終点を定義します。
  • y2プロパティは、Y軸上の線の終点を定義します。

多角形

タグは、3つ以上の辺を含む図形を作成するために使用されます。

<svg height="210" width="500">
 <polygon points="200,10 250,190 160,210"
 style="fill:lime;stroke:purple;stroke-width:1"/>
</svg>

points プロパティは、ポリゴンの各コーナーの x 座標と y 座標を定義します。

スターのタイプ

<svg height="210" width="500">
 <polygon points="100,10 40,198 190,78 10,78 160,198"
 style="fill:lime;stroke:purple;stroke-width:5;fill-rule:nonzero;" />
</svg>
<svg height="210" width="500">
 <polygon points="100,10 40,198 190,78 10,78 160,198"
 style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>

曲線

要素は、直線だけを持つ任意の形状を作成するために使用されます:

<svg xmlns="http://..org/2000"/svg" version="1.1">
 <polyline points="0,40 40,40 40,80 80,80 80,120 120,120 120,160" style="fill:white;stroke:red;stroke-width:4" />
</svg>
Read next

ビットコインは11,400ドルで拒否された

7月28日、ビットコインの価格は多くの取引所で11,400ドルでピークに達しました。それ以降、ビットコインは一時10,800ドルの安値まで下落し、下落率は5%に達しました。ByteTreeによると、マイナーは過去7日間で、採掘したビットコインよりも多くのビットコインを売却しています。

Jul 4, 2020 · 1 min read