0

SVGオブジェクトを編集するためのギズモを作成したいと思います。今、私が今解決しようとしている問題は次のとおりです:私はオブジェクトを持っています。ギズモはオブジェクトの周囲に表示されるため、オブジェクトを拡大縮小、移動、回転させることができます。ギズモは常に次のように表示されるため、オブジェクトの境界線をそのまま見つける必要があります。http: //s16.postimage.org/kipdum2v9/example.png (誰かがさまよう場合、ピンクがオブジェクト、黒のストロークがギズモ)

PS既存のエディターの使用を提案しないでください。

4

1 に答える 1

1

バウンディングボックスとの形状の接点を探していると思います。SVG形状の定義があいまいになる可能性があるため(フィルターなど)、一般的に問題を解決するのはかなり難しいようです。

形状がパスである限り、単純でありながらおおよその方法で、インターフェイスSVGPathElementのgetPointAtLengthメソッドを使用できます。妥当な数のポイントをサンプリングし、極値を保持します。それらは要求されたポイントを概算する必要があります。

たぶん、getBBox()によって返された値を利用して、近似を調整することができます。

于 2012-07-11T21:38:08.030 に答える