SVG(Scalable Vector Graphics)は、XMLベースのファイルフォーマットで、主に2Dグラフィックを描画するために使用されます。SVGは、スケーラブル(拡大縮小可能)であり、品質を損なうことなく、どんな解像度でも表示することができます。そのため、ウェブデザインやインターフェースデザインでよく利用されています。ここでは、SVGを使用してシンプルな図形を作成する方法について、包括的に解説します。
SVGの基本構造
まず、SVGファイルの基本的な構造を理解することが大切です。SVGファイルは、通常、以下のような形式で記述されます。

xml
xmlns
属性は、XMLネームスペースを指定します。これにより、SVGとして認識されます。width
およびheight
属性は、SVGの描画領域のサイズを指定します。
この基本構造を基に、様々な図形を描くことができます。
1. 長方形の作成
SVGでは、長方形(
)を描画するために
タグを使用します。長方形を描くための基本的な構文は以下の通りです。
xml
x
とy
は、長方形の左上の座標を指定します。width
とheight
は、長方形の幅と高さを指定します。fill
は、長方形の塗りつぶし色を指定します。
上記のコードは、左上に青色の長方形を描画します。
2. 円の作成
円を描くためには、
タグを使用します。円の描画に必要な基本的な属性は次の通りです。
xml
cx
とcy
は、円の中心の座標を指定します。r
は、円の半径を指定します。fill
は、円の塗りつぶし色を指定します。
この例では、赤い円が中央に描画されます。
3. 線(直線)の作成
直線を描くためには、
タグを使用します。直線を描画するために必要な基本的な属性は以下の通りです。
xml
x1
とy1
は、直線の始点の座標を指定します。x2
とy2
は、直線の終点の座標を指定します。stroke
は、直線の色を指定します。stroke-width
は、直線の太さを指定します。
この例では、緑色の直線が始点(10,10)から終点(150,150)まで描画されます。
4. 多角形の作成
多角形を描くには、
タグを使用します。多角形の頂点を指定するために、points
属性を使用します。
xml
points
属性には、頂点の座標をカンマ区切りで指定します。各頂点はx,y
形式で指定します。fill
は、多角形の塗りつぶし色を指定します。
この例では、黄色の三角形が描画されます。
5. パス(複雑な形状)の作成
SVGでは、より複雑な形状を描くために
タグを使用します。
タグは、任意の形を描くための非常に強力な方法です。以下は、
タグを使用して曲線と直線を組み合わせた形状を描く例です。
xml
d
属性は、パスのデータを指定します。例えば、M
は移動、Q
は二次ベジェ曲線を描く命令です。fill
は、パス内の塗りつぶし色を指定します。stroke
は、パスの線の色を指定します。stroke-width
は、線の太さを指定します。
この例では、曲線と直線が組み合わさった紫色のパスが描画されます。
6. テキストの追加
SVGでは、テキストを追加することもできます。テキストを追加するには、
タグを使用します。
xml
x
とy
は、テキストの開始位置を指定します。font-family
は、使用するフォントを指定します。font-size
は、テキストのサイズを指定します。fill
は、テキストの色を指定します。
この例では、こんにちは
という文字が指定した位置に描画されます。
7. グラデーションの使用
SVGでは、グラデーションを使用して、図形の色を滑らかに変化させることができます。
タグや
タグを使うことで、線形グラデーションや放射線グラデーションを作成できます。
xml
タグ内でグラデーションを定義します。stop
タグで色の変化点を指定します。fill="url(#grad1)"
で、グラデーションを塗りつぶしとして適用します。
この例では、黄色から赤への線形グラデーションが適用された長方形が描画されます。
結論
SVGは、非常に柔軟で強力なグラフィック技術です。上記で紹介した基本的な図形作成の方法を理解すれば、複雑な図形やアニメーションの作成も可能になります。SVGを活用することで、ウェブページに軽量で美しいグラフィックを追加することができます。