SVGの基本的な要素: line/polyline/polygon要素

2002年3月3日(日)更新


■SVGの基本的な要素: line要素

たけち: 今回はline要素、polyline要素そしてpolygon要素について学習するね。

さらら: あらら。三つもやるのね。

たけち: うん、でもそんなに難しくないから。ということで、まずは、line要素の書き方からね。

さらら: どれどれ・・・・・ (^ ^;

さらら

line要素の書き方

line要素の各属性の意味

さらら: 直線は簡単ね。始点と終点の座標が基本ね。

たけち: そうそう。簡単だね。じゃ、次はpolyline要素を見てみよう。

さらら: polylineって、折れ線のことよね。

さらら


■SVGの基本的な要素: polyline要素

polyline要素の書き方

さらら: あれっ。いままでのような書き方とちょっと違うのね。x1="xx" y1="yy"・・・・・ xn="xx" yn="yy"みたいに書かないのね。

たけち: そうだよ。折れ線って、たくさん点があったりするとx1="xx" y1="yy"・・・・・ xn="xx" yn="yy"みたいに書くのは面倒だよね。だから、points属性に、"x1,y1 x2,y2 ・・・・・ xn,yn"というように点のx座標とy座標のペアを書いて、そのペアをスペースで区切って点の数だけ並べるんだよ。たとえば、次のように。

points属性の書き方の例
points="0,50 200,400 300,200 400,100"

さらら: あっ、そうなんだ。。。。。fill属性は、折れ線で囲まれたところを塗りつぶすのね。

たけち: そうそう。それたら、始点と終点の間をつないだとみなして、それによってできる囲まれた領域も塗っちゃうんだ。図に属性の説明を載せておくね。

たけち

polyline要素の各属性の意味


■SVGの基本的な要素: polygon要素

さらら: polygon要素ってどんなの?

たけち: 多角形のことだね。

さらら: あっ。。。。。 (^ ^*

たけち: 書き方はpolyline要素と同じだからね。ただ、表示結果が違って、始点=終点となるよね。

さらら: そっ、そうね。多角形ですものね。。。 (^ ^*

さらら

polygon要素の書き方

ellipse要素の各属性の意味


■line/polyline/polygon要素のサンプル

たけち: じゃあ、line/polyline/polygon要素のサンプルをみて具体的に確認しておこうね。

さらら: えぇ、ちょっと駆け足だったから具体的に見てみたいわね。

たけち: まぁ、そう言わないで、さらら。次のサンプルリストを見て。

SVGドキュメント サンプル(line/polyline/polygonあれこれ)

<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">

<svg width="500" height="450" xmlns="http://www.w3.org/2000/svg">

  <desc>line element</desc>

<text x="160" y="20" fill="navy" font-size="16">line element</text>

  <line x1="40" y1="100" x2="80" y2="40"
      stroke="navy" stroke-width="1" />

  <line x1="120" y1="100" x2="160" y2="40"
      stroke="navy" stroke-width="3" />

  <line x1="200" y1="100" x2="240" y2="40"
      stroke="green" stroke-width="5" />

  <line x1="280" y1="100" x2="320" y2="40"
      stroke="green" stroke-width="7"
      fill="none" stroke-dasharray="5,5" />


<text x="160" y="140" fill="navy" font-size="16">polyline element</text>

  <polyline
      points="40,210 80,250 120,170 200,190"
      fill="none" stroke="navy" stroke-width="1" />

  <polyline
      points="320,270 320,180 260,180 260,230 400,230"
      fill="skyblue" stroke="green" stroke-width="5" />

<text x="160" y="300" fill="navy" font-size="16">polygon element</text>

  <polygon
      points="40,380 120,320 200,380"
      fill="none" stroke="red" stroke-width="1" />

  <polygon
      points="300,340 350,310 400,340 380,390 320,390"
      fill="yellow" stroke="green" stroke-width="5" />

</svg>

たけち: これを"line_1.svg"という名前のファイルにして、"line_1.html"からリンクして表示させると次の図のようになるね。

line/polyline/polygon要素のサンプルファイル line_1.html
viewportのサイズは、500px×450pxです。

※Adobe社のSVG Viewerがインストールされていると下のイメージのように表示されるはずです。

Adobe社のSVG Viewerがインストールされているとこのように表示されるはずです。

さらら: SVGの基本的な要素についてはこれで終わりかしら。

たけち: そうだね。あとは、text属性ぐらいかな。

さらら: あっ、そっか。。。。次回もよろしくね。

次回はtext属性(その1)についてです。 .... (^ ^*

さらら


■補足: "line_1.html"ファイルの内容は次のようです。

<?xml version="1.0" encoding="Shift_JIS" ?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
  <head>
    <title>SVGのline/polyline/polygon要素の例です</title>
  </head>
  <body>
    <p>SVGのline/polyline/polygon要素の例です。
circle要素とellipse要素の各属性を色々と変えています。</p>
      <embed src="line_1.svg" name="SVGEmbed" width="500" height="450" type="image/svg-xml" pluginspage="http://www.adobe.co.jp/svg/viewer/install/">

  </body>
</html>