Tips

SVGとユーザ座標系

日付2009/09/09
ID75883 (英語原文参照)
バージョン11.4
プラットフォームMac & Win

4D SVG Componentのドキュメントには、ユーザ座標系(user coordinate system)という用語が頻出します。これはSVGの概念なので、ドキュメントの中では、特に解説が加えられていません。

SVGがレンダリングされる際、SVGユーザエージェントはビューポート(viewport)を特定することになっており、Viewbox属性、または最上位にあるsvg要素のheight属性またはwidth属性に基づいてこれを決めます。このビューポートに基づき、当初のビューポート座標系および当初のユーザ座標系が作成されます。この時点で両者は同一であり、座標系における1単位はビューポートの1ピクセルに相当します。

詳細は座標系に関するw3cのドキュメントで説明されています。SVGを扱う4Dデベロッパは、このユーザ座標系を意識しなければなりません。これには、SVG_SET_VIEWBOXコマンドとSVG_SET_DIMENSIONSコマンドを使用することになります。次のコードはドキュメントからの引用です。

  `Create an SVG document of 4x8cm
$svg:=SVG_New
SVG_SET_DIMENSIONS($svg;4;8;"cm")
  `Declare the user coordinate system here as 1cm = 50 user points 
SVG_SET_VIEWBOX ($svg; 0; 0; 1000; 2000; "true")