あちゃまWEB >

SVG画像の定義方法

SVG(Scalable Vector Graphics)は、ウェブ上でベクター画像を扱うためのXMLベースの言語です。

SVGの主な特徴は以下の通り

  • 拡大・縮小に強い: SVGは点、線、多角形などの数学的なデータで画像を定義するため、拡大してもぼやけることがなくロゴやアイコンなど様々なサイズで表示するコンテンツに利用できます。
  • テキストエディタで編集可能: SVGファイルはテキストファイルなので、メモ帳などのシンプルなテキストエディタで開いて内容を確認したり、編集したりすることができます。
  • スタイル変更が容易: CSS(Cascading Style Sheets)を使って、SVG画像の色や線の太さ、アニメーションなどを簡単に変更できます。
  • 軽量: シンプルな画像であれば、多くの場合JPEGやPNGよりもファイルサイズが小さくなります。
  • 利用: 単なる静止画だけでなくインタラクティブな要素やアニメーションも可能です。ウェブサイトのグラフィック、データ可視化やアニメーションなど、幅広い用途で利用できます。

SVG基本図形要素の使い方

SVG(Scalable Vector Graphics)は、XMLベースのベクター画像フォーマットです。
以下のテーブルは、主要なSVG図形要素とその基本的な使い方、およびHTMLコードの例を示します。

要素名 / 説明主要な属性 / 記述例
<rect>
四角形を描画します。
<rect x="10" y="10" width="80" height="60" fill="blue" />
  • x, y: 四角形の左上隅の座標
  • width, height: 幅と高さ
  • rx, ry: 角の丸み(省略可能)
<circle>
円を描画します。
<circle cx="50" cy="50" r="40" fill="red" />
  • cx, cy: 円の中心の座標
  • r: 半径
<ellipse>
楕円を描画します。
<ellipse cx="100" cy="50" rx="80" ry="30" fill="green" />
  • cx, cy: 楕円の中心の座標
  • rx, ry: X軸とY軸の半径
<line>
直線を描画します。
<line x1="10" y1="10" x2="90" y2="90" stroke="black" stroke-width="2" />
  • x1, y1: 線の開始座標
  • x2, y2: 線の終了座標
<polyline>
複数の点を通る折れ線を描画します。
<polyline points="10,10 20,40 30,10" fill="none" stroke="purple" />
  • points: 複数の座標のペアをカンマまたはスペースで区切って記述
<polygon>
複数の点を通る多角形を描画し、自動的に始点と終点を結びます。
<polygon points="100,10 40,198 190,78" fill="yellow" stroke="black" />
  • points: 複数の座標のペアをカンマまたはスペースで区切って記述
<path>
最も柔軟な要素で、複雑な形状を描画します。
<path d="M 10 80 Q 52.5 10 95 80 T 180 80" stroke="orange" fill="transparent" />
  • d: パスの描画コマンド
  • M (moveto)
    ペンの現在位置を移動させる
    構文: M x y
    x,y 移動先の座標

    Q (quadratic bezier curveto)
    二次ベジェ曲線を定義。開始点、制御点、終点の3点による曲線を決まります。制御点は曲線の形状を引っ張る形で曲線を制御します。

    構文: Q cx cy x y
    cx cy: 制御点の座標
    x y: 終点の座標

    T (smooth quadratic bezier curveto)
    T コマンドも二次ベジェ曲線を定義しますが、前の Q コマンドまたは T コマンドの制御点から自動的に滑らかな制御点を計算

    構文: T x y
    x y: 終点の座標

    L (lineto)
    現在の点から指定された座標まで直線を引きます。
    構文: L x y
    H (horizontal lineto):
    現在の点のy座標を維持したまま、指定されたx座標まで水平な直線を引きます。
    構文: H x
    V (vertical lineto)
    現在の点のx座標を維持したまま、指定されたy座標まで垂直な直線を引きます。
    構文: V y

    曲線描画コマンド

    C (cubic bezier curveto)
    2つの制御点を持つ三次ベジェ曲線を定義します。これにより、より複雑で滑らかな曲線を引くことができます。
    構文: C c1x c1y c2x c2y x y
    c1x c1y: 最初の制御点の座標
    c2x c2y: 2番目の制御点の座標
    x y: 終点の座標

    S (smooth cubic bezier curveto)
    前のCコマンドまたはSコマンドから滑らかな三次ベジェ曲線を定義します。最初の制御点は自動的に計算され、2番目の制御点と終点を指定します。
    構文: S c2x c2y x y

    A (elliptical arc)
    楕円の一部(円弧)を描きます。このコマンドは、円弧の半径、回転、スイープ(時計回りか反時計回りか)、終点など多くのパラメーターを指定する必要があります。

    構文: A rx ry x-axis-rotation large-arc-flag sweep-flag x y

    Z (closepath)
    現在の点からパスの開始点まで直線を引いて、パスを閉じます。
    構文: Z
    注記:
    すべてのコマンドには、大文字と小文字のバージョンがあり、大文字のコマンド (M, L, Cなど) は絶対座標、小文字のコマンド (m, l, cなど) は、現在の点からの相対座標を使用します。たとえば、l 10 10は、現在の点から右に10、下に10移動した位置に線を引きます。
<text>
文字を描画します。
<text x="10" y="20" fill="cyan">Hello SVG</text>
  • x, y: 文字列の開始座標
  • font-size: フォントサイズ

SVG Work bench


X: 0, Y: 0

図形設定

図形の種類 位置X 位置Y 高さ 線太さ 線の色 塗色 パラメータ

SVG定義

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

WordPress情報


WEB開発


その他