4

SVG を使用して、HTML ページにさまざまな形状を描画しています。これらのさまざまな形状は、Microsoft Sql Server の空間データベースのジオメトリ オブジェクトから取得されます。私が直面している問題は、座標系 (Svg と Microsoft Sql Server) が異なることです。0,0 は Svg の左上隅から始まりますが、Microsoft Sql Server では左下隅から始まります。Y座標だけを逆にする必要があります。また、viewBoxを使用してデータを適切に表示しています(さまざまな変換用)。オブジェクトの座標に触れず、ビューボックスの属性だけで作業することなく、私の問題を解決する方法はありますか? 私はオブジェクトを動的に作成し、「viewBox」ソリューションを好みます。

前もって感謝します!

4

1 に答える 1

4

viewBox は使えないと思います。SVG 仕様では、新しい座標系を定義する場合は、変換を使用する必要があると述べています。必要なのは、画像の中心を通る水平線に関するすべてを反映することです。そのためには、次のようにすべての要素をグループにラップします。

<svg>
  <g transform="matrix(1 0 0 -1 0 height)">
    all the other elements...
  </g>
</svg>

heightSVG の高さはどこですか。潜在的な問題の 1 つは、テキストが上下逆にレンダリングされることです。

于 2011-06-22T11:46:17.697 に答える