SVG画像表示領域を作成する

SVG画像表示領域を作成するコードを紹介します。

概要

SVGの画像表示領域を作成するにはSVGタグを利用します。

プログラム例1:SVGの領域を作成する

コード

下記のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        <!--
        body{
            background-color:#E0E0E0;
        }
        .SvgFrame{
            border:solid 1px #404040;
        }
        -->
    </style>
</head>
<body>
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="640" viewBox="0 0 640 320" class="SvgFrame">
    </svg>
</body>
</html>

解説

下記のSVGタグがSVG画像の表示領域を作成するコードになります。height width 属性が表示領域の高さと幅になります。viewBoxは表示領域にどの範囲を表示するかの設定になります。今回は 0 0 640 320 としているため、(x,y)=(0.0)(x,y)=(640.320) を対角とする領域がSVGタグで表示されます。
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="640" viewBox="0 0 640 320" class="SvgFrame">
  </svg>

実行結果

上記のHTMLファイルをWebブラウザで表示します。下図の枠が表示され、SVG画像が表示される領域が作成できました。

プログラム例2:SVGの領域の作成と図形の描画

次の例ではSVGの領域を作成して図形も描画するコードを紹介します。
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <style>
    <!--
      body{
        background-color:#E0E0E0;
      }
      .SvgFrame{
        border:solid 1px #404040;
      }
    -->
  </style>
</head>
<body>
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="640" viewBox="0 0 640 320" class="SvgFrame">
    <line x1="20" y1="10" x2="250" y2="180" style="stroke:rgb(0,0,128);stroke-width:1" />
    <circle cx="420" cy="200" r="130" style="fill-opacity:0; stroke:#ff6a00;stroke-width:1"/>
    <path d="M320 20 H 180 V 120 H 180 L 320 120"  style="fill:#059a3a;stroke-width:0"/>
  </svg>
</body>
</html>

解説

下記がSVGのコードです。svgタグでは先の例で紹介した通り、svg画像を表示する領域を定義します。height, width, viewBox の値は先の例と同じ値を利用しています。
svgタグ内では line, circle, path のタグを記述しています。これらのタグで直線、円、矩形の塗りつぶしを描画します。
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="640" viewBox="0 0 640 320" class="SvgFrame">
    <line x1="20" y1="10" x2="250" y2="180" style="stroke:rgb(0,0,128);stroke-width:1" />
    <circle cx="420" cy="200" r="130" style="fill-opacity:0; stroke:#ff6a00;stroke-width:1"/>
    <path d="M320 20 H 180 V 120 H 180 L 320 120"  style="fill:#059a3a;stroke-width:0"/>
  </svg>

実行結果

上記のHTMLファイルをWebブラウザで表示します。下図の画面が表示されます。SVGの領域内に直線、円と塗りつぶされた長方形が描画できていることが確認できます。


著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2019-09-17
iPentec all rights reserverd.